{"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://eu.api.ovh.com/v1"}],"components":{"schemas":{"any":{"description":"Can be anything (text, int, bool, json, html, etc.)","example":"This is a content of any type !"},"cloud.AccessTypeEnum":{"type":"string","description":"Possible values for project access type","enum":["full","restricted"]},"cloud.Acl":{"type":"object","description":"Cloud ACL","properties":{"accountId":{"type":"string","description":"OVH customer unique identifier","readOnly":true},"type":{"allOf":[{"$ref":"#/components/schemas/cloud.AclTypeEnum"}],"description":"ACL type","readOnly":true}}},"cloud.AclTypeEnum":{"type":"string","description":"Possible values for ACL type","enum":["readOnly","readWrite"]},"cloud.AvailableRegion":{"type":"object","description":"Details about an available region that can be activated on your project","properties":{"continentCode":{"allOf":[{"$ref":"#/components/schemas/cloud.RegionContinentEnum"}],"description":"Region continent code","readOnly":true},"datacenterLocation":{"type":"string","description":"Location of the datacenter where the region is","readOnly":true},"name":{"type":"string","description":"Region name","readOnly":true},"type":{"allOf":[{"$ref":"#/components/schemas/cloud.RegionTypeEnum"}],"description":"Region type","readOnly":true}}},"cloud.Backup":{"type":"object","description":"List your automated backups","properties":{"backupName":{"type":"string","description":"Backup name","readOnly":true},"createdAt":{"type":"string","description":"Creation date of the workflow","format":"date-time","readOnly":true},"cron":{"type":"string","description":"Workflow cron pattern","readOnly":true},"distantBackupName":{"type":"string","description":"Name of the distant backup if the workflow creates a distant backup","nullable":true,"readOnly":true},"distantRegion":{"type":"string","description":"Name of the distant region if the workflow creates a distant backup","nullable":true,"readOnly":true},"executions":{"type":"array","description":"Executions logs","nullable":true,"items":{"$ref":"#/components/schemas/cloud.Execution"},"readOnly":true},"id":{"type":"string","description":"Workflow id","readOnly":true},"instanceId":{"type":"string","description":"Instance id","readOnly":true},"name":{"type":"string","description":"Workflow name identifier","readOnly":true},"nextExecutionTime":{"type":"string","description":"Next execution time","format":"date-time","readOnly":true},"rotation":{"type":"integer","description":"Number of backup to keep","readOnly":true}}},"cloud.ColdArchiveContainer":{"type":"object","description":"Container","properties":{"automaticDeletionAt":{"type":"string","description":"After restoring your archive, date when the restored files will be deleted","nullable":true,"format":"date-time","readOnly":true},"createdAt":{"type":"string","description":"The date when the resource was created","format":"date-time","readOnly":true},"lockedUntil":{"type":"string","description":"Archive is locked (cannot be deleted) until this date","nullable":true,"format":"date-time","readOnly":true},"name":{"type":"string","description":"Container name","readOnly":true},"objects":{"type":"array","description":"Container objects (deprecated)","items":{"$ref":"#/components/schemas/cloud.StorageObjectList"},"readOnly":true},"objectsCount":{"type":"integer","description":"Container total objects count","readOnly":true},"objectsSize":{"type":"integer","description":"Container total objects size (bytes)","readOnly":true},"ownerId":{"type":"integer","description":"Container owner user ID","readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.ColdArchiveContainerStatusEnum"}],"description":"ColdArchive status","readOnly":true},"virtualHost":{"type":"string","description":"Container virtual host","readOnly":true}}},"cloud.ColdArchiveContainerStatusEnum":{"type":"string","description":"Enum values for Status","enum":["archived","archiving","deleting","flushed","none","restored","restoring"]},"cloud.Component":{"type":"object","description":"Information about the different components available in the region","properties":{"endpoint":{"type":"string","description":"Endpoint URL","readOnly":true},"name":{"type":"string","description":"Service name","readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.ServiceStatusEnum"}],"description":"Service status","readOnly":true}}},"cloud.Credit":{"type":"object","description":"Cloud credit","properties":{"available_credit":{"allOf":[{"$ref":"#/components/schemas/order.Price"}],"description":"Available credit","readOnly":true},"bill":{"type":"string","description":"Credit bill id","nullable":true,"readOnly":true},"description":{"type":"string","description":"Credit description","nullable":true,"readOnly":true},"id":{"type":"integer","description":"Credit id","readOnly":true},"products":{"type":"array","description":"Use credits on following products","nullable":true,"items":{"type":"string"},"readOnly":true},"total_credit":{"allOf":[{"$ref":"#/components/schemas/order.Price"}],"description":"Total credit","readOnly":true},"used_credit":{"allOf":[{"$ref":"#/components/schemas/order.Price"}],"description":"Used credit","readOnly":true},"validity":{"allOf":[{"$ref":"#/components/schemas/cloud.common.VoucherValidity"}],"description":"Credit validity","nullable":true,"readOnly":true},"voucher":{"type":"string","description":"Voucher code","nullable":true,"readOnly":true}}},"cloud.Execution":{"type":"object","description":"An execution of the backup workflow","properties":{"executedAt":{"type":"string","description":"Last date of cron trigger execution","format":"date-time","readOnly":true},"id":{"type":"string","description":"Execution ID","readOnly":true},"state":{"allOf":[{"$ref":"#/components/schemas/cloud.ExecutionStateEnum"}],"description":"Execution state","readOnly":true},"stateInfo":{"type":"string","description":"Information about state","readOnly":true}}},"cloud.ExecutionStateEnum":{"type":"string","description":"Enum values for State","enum":["CANCELED","ERROR","IDLE","PAUSED","RUNNING","SUCCESS"]},"cloud.Instance.AutoBackup":{"type":"object","description":"Autobackup params","properties":{"cron":{"type":"string","description":"Unix Cron pattern (eg: '0 0 * * *')"},"distantImageName":{"type":"string","description":"Name of the distant image","nullable":true},"distantRegionName":{"type":"string","description":"Name of the distant region","nullable":true},"imageName":{"type":"string","description":"Name of the image"},"name":{"type":"string","description":"Name of your workflow"},"rotation":{"type":"integer","description":"Number of backup to keep"}},"required":["cron","rotation"]},"cloud.IpCountryEnum":{"type":"string","description":"Enum values for IpCountry","enum":["au","be","ca","cz","de","es","fi","fr","ie","in","it","lt","nl","pl","pt","sg","uk","us"]},"cloud.Lab":{"type":"object","description":"A public cloud lab permits to activate a feature in beta","properties":{"id":{"type":"string","description":"Lab ID","readOnly":true},"name":{"type":"string","description":"Lab name","readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.LabStatusEnum"}],"description":"Lab status","readOnly":true}}},"cloud.LabAgreements":{"type":"object","description":"List of required agreements to activate the lab","properties":{"accepted":{"type":"array","description":"List of agreements already accepted to activate the lab","items":{"type":"integer"},"readOnly":true},"toAccept":{"type":"array","description":"List of agreements to accept before activate the lab","items":{"type":"integer"},"readOnly":true}}},"cloud.LabStatusEnum":{"type":"string","description":"Enum values for Status","enum":["activated","activating","closed","open"]},"cloud.Operation":{"type":"object","description":"An operation is an async process on your Project","properties":{"action":{"type":"string","description":"The action of the operation","readOnly":true},"completedAt":{"type":"string","description":"The completed date of the operation","nullable":true,"format":"date-time","readOnly":true},"createdAt":{"type":"string","description":"The creation date of the operation","format":"date-time","readOnly":true},"id":{"type":"string","description":"Unique ID to describe the operation","readOnly":true},"progress":{"type":"integer","description":"The progression in percentage of the operation","readOnly":true},"regions":{"type":"array","description":"Affected regions of the operation","nullable":true,"items":{"type":"string"},"readOnly":true},"resourceId":{"type":"string","description":"Affected resource of the operation","nullable":true,"readOnly":true},"startedAt":{"type":"string","description":"The started date of the operation","nullable":true,"format":"date-time","readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.OperationStatusEnum"}],"description":"Operation status","readOnly":true},"subOperations":{"type":"array","description":"Sub-operations of the operation","nullable":true,"items":{"$ref":"#/components/schemas/cloud.SubOperation"},"readOnly":true}}},"cloud.OperationStatusEnum":{"type":"string","description":"Enum values for Status","enum":["canceled","completed","created","in-error","in-progress","unknown"]},"cloud.Project":{"type":"object","description":"Project","properties":{"access":{"allOf":[{"$ref":"#/components/schemas/cloud.AccessTypeEnum"}],"description":"Project access","readOnly":true},"creationDate":{"type":"string","description":"Project creation date","format":"date-time","readOnly":true},"description":{"type":"string","description":"Description of your project","nullable":true},"expiration":{"type":"string","description":"Expiration date of your project. After this date, your project will be deleted","nullable":true,"format":"date-time","readOnly":true},"manualQuota":{"type":"boolean","description":"Manual quota prevent automatic quota upgrade"},"orderId":{"type":"integer","description":"Project order id","nullable":true,"readOnly":true},"planCode":{"type":"string","description":"Order plan code","readOnly":true},"projectName":{"type":"string","description":"Project name","nullable":true,"readOnly":true},"project_id":{"type":"string","description":"Project id","readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ProjectStatusEnum"}],"description":"Current status","readOnly":true},"unleash":{"type":"boolean","description":"Project unleashed","readOnly":true}}},"cloud.ProjectActivateMonthlyBillingCreation":{"type":"object","description":"Missing description","properties":{"instances":{"type":"array","description":"Instance ids and regions","items":{"$ref":"#/components/schemas/cloud.instance.MonthlyInstanceBulkParams"}}},"required":["instances"]},"cloud.ProjectContainerRegistryCreation":{"type":"object","description":"Missing description","properties":{"name":{"type":"string","description":"Name of the new registry"},"planID":{"type":"string","description":"ID of the plan to use for the new registry"},"region":{"type":"string","description":"Region where to deploy the registry.  Get available regions with /cloud/project/{serviceName}/capabilities/containerRegistry."}},"required":["name","region"]},"cloud.ProjectContainerRegistryUpdate":{"type":"object","description":"Missing description","properties":{"name":{"type":"string","description":"New registry name"}},"required":["name"]},"cloud.ProjectContainerRegistryUsersCreation":{"type":"object","description":"Missing description","properties":{"email":{"type":"string","description":"New user email","nullable":true},"login":{"type":"string","description":"New user login","nullable":true}}},"cloud.ProjectInstanceBulkCreation":{"type":"object","description":"Missing description","properties":{"autobackup":{"allOf":[{"$ref":"#/components/schemas/cloud.instance.SimpleAutoBackup"}],"description":"Create an autobackup workflow after instance start up","nullable":true},"availabilityZone":{"type":"string","description":"Availability zone to create the instance on","nullable":true},"flavorId":{"type":"string","description":"Instance flavor id"},"groupId":{"type":"string","description":"Start instance in group","nullable":true},"imageId":{"type":"string","description":"Instance image id","nullable":true},"monthlyBilling":{"type":"boolean","description":"Active monthly billing","nullable":true},"name":{"type":"string","description":"Instance name"},"networks":{"type":"array","description":"Create network interfaces","nullable":true,"items":{"$ref":"#/components/schemas/cloud.instance.NetworkBulkParams"}},"number":{"type":"integer","description":"Number of instances you want to create"},"region":{"type":"string","description":"Instance region"},"sshKeyId":{"type":"string","description":"SSH keypair id","nullable":true},"userData":{"type":"string","description":"Configuration information or scripts to use upon launch","nullable":true},"volumeId":{"type":"string","description":"Specify a volume id to boot from it","nullable":true}},"required":["flavorId","name","number","region"]},"cloud.ProjectInstanceCreation":{"type":"object","description":"Missing description","properties":{"autobackup":{"allOf":[{"$ref":"#/components/schemas/cloud.instance.SimpleAutoBackup"}],"description":"Create an autobackup workflow after instance start up","nullable":true},"availabilityZone":{"type":"string","description":"Availability zone to create the instance on","nullable":true},"flavorId":{"type":"string","description":"Instance flavor id"},"groupId":{"type":"string","description":"Start instance in group","nullable":true},"imageId":{"type":"string","description":"Instance image id","nullable":true},"monthlyBilling":{"type":"boolean","description":"Active monthly billing","nullable":true},"name":{"type":"string","description":"Instance name"},"networks":{"type":"array","description":"Create network interfaces","nullable":true,"items":{"$ref":"#/components/schemas/cloud.instance.NetworkParams"}},"region":{"type":"string","description":"Instance region"},"sshKeyId":{"type":"string","description":"SSH keypair id","nullable":true},"userData":{"type":"string","description":"Configuration information or scripts to use upon launch","nullable":true},"volumeId":{"type":"string","description":"Specify a volume id to boot from it","nullable":true}},"required":["flavorId","name","region"]},"cloud.ProjectInstanceGroupCreation":{"type":"object","description":"Missing description","properties":{"name":{"type":"string","description":"instance group name"},"region":{"type":"string","description":"Instance region"},"type":{"allOf":[{"$ref":"#/components/schemas/cloud.instancegroup.InstanceGroupTypeEnum"}],"description":"Instance group type"}},"required":["name","region","type"]},"cloud.ProjectInstanceInterfaceCreation":{"type":"object","description":"Missing description","properties":{"ip":{"allOf":[{"$ref":"#/components/schemas/ip"}],"description":"Static ip (Can only be defined for private networks)","nullable":true},"networkId":{"type":"string","description":"Network id"}},"required":["networkId"]},"cloud.ProjectInstanceRebootCreation":{"type":"object","description":"Missing description","properties":{"type":{"allOf":[{"$ref":"#/components/schemas/cloud.instance.RebootTypeEnum"}],"description":"Reboot type (default soft)"}},"required":["type"]},"cloud.ProjectInstanceReinstallCreation":{"type":"object","description":"Missing description","properties":{"imageId":{"type":"string","description":"Image to reinstall"}},"required":["imageId"]},"cloud.ProjectInstanceRescueModeCreation":{"type":"object","description":"Missing description","properties":{"imageId":{"type":"string","description":"Image to boot on","nullable":true},"rescue":{"type":"boolean","description":"Enable rescue mode"}},"required":["rescue"]},"cloud.ProjectInstanceResizeCreation":{"type":"object","description":"Missing description","properties":{"flavorId":{"type":"string","description":"Flavor id"}},"required":["flavorId"]},"cloud.ProjectInstanceSnapshotCreation":{"type":"object","description":"Creates instance snapshots in the current region.","properties":{"snapshotName":{"type":"string","description":"Name for the snapshot that will be created in the current region"}},"required":["snapshotName"]},"cloud.ProjectInstanceUpdate":{"type":"object","description":"Missing description","properties":{"instanceName":{"type":"string","description":"Instance new name"}},"required":["instanceName"]},"cloud.ProjectIpFailoverAttachCreation":{"type":"object","description":"Missing description","properties":{"instanceId":{"type":"string","description":"Attach failover ip to instance"}},"required":["instanceId"]},"cloud.ProjectKubeCreation":{"type":"object","description":"Missing description","properties":{"customization":{"allOf":[{"$ref":"#/components/schemas/cloud.ProjectKubeCustomization"}],"description":"Kubernetes cluster customization","nullable":true},"disablePublicNetworking":{"type":"boolean","description":"Disable public connectivity","nullable":true},"ipAllocationPolicy":{"allOf":[{"$ref":"#/components/schemas/cloud.ProjectKubeIpAllocationPolicy"}],"description":"IP allocation policy. This field is optional.","nullable":true},"kubeProxyMode":{"allOf":[{"$ref":"#/components/schemas/cloud.kube.KubeProxyModeEnum"}],"description":"Selected mode for kube-proxy","nullable":true},"loadBalancersSubnetId":{"type":"string","description":"OpenStack subnet ID that the load balancers will use. Optional, can be updated with endpoint /cloud/project/{serviceName}/kube/{kubeId}/updateLoadBalancersSubnetId, can only be set if privateNetworkId and nodesSubnetId are also set","format":"uuid"},"name":{"type":"string","description":"Kubernetes cluster name"},"nodepool":{"allOf":[{"$ref":"#/components/schemas/cloud.ProjectKubeCreationNodePool"}],"description":"Nodepool to initialize with cluster creation. Note: this fields is deprecated in favor of 'nodepools' field that allows to create one or more nodepools."},"nodepools":{"type":"array","description":"List of nodepools to initialize with cluster creation","items":{"$ref":"#/components/schemas/cloud.ProjectKubeCreationNodePool"}},"nodesSubnetId":{"type":"string","description":"OpenStack subnet ID that the cluster nodes will use. Optional, can only be set on cluster creation or reset, can only be set if privateNetworkId is also set. If unspecified, it will be selected automatically when the first node is created."},"plan":{"type":"string","description":"The cluster plan","nullable":true},"privateNetworkConfiguration":{"allOf":[{"$ref":"#/components/schemas/cloud.kube.PrivateNetworkConfiguration"}],"description":"The private network configuration."},"privateNetworkId":{"type":"string","description":"OpenStack private network ID that the cluster will use. Optional, can only be set on cluster creation or reset. If unspecified, the cluster will use the public network."},"region":{"type":"string","description":"Kubernetes OpenStack region"},"updatePolicy":{"allOf":[{"$ref":"#/components/schemas/cloud.kube.UpdatePolicyEnum"}],"description":"Enum values for UpdatePolicy","nullable":true},"version":{"allOf":[{"$ref":"#/components/schemas/cloud.kube.VersionEnum"}],"description":"Kubernetes version to install"}},"required":["region"]},"cloud.ProjectKubeCreationNodePool":{"type":"object","description":"Missing description","properties":{"antiAffinity":{"type":"boolean","description":"Enable anti affinity groups for nodes in the pool","nullable":true},"attachFloatingIps":{"allOf":[{"$ref":"#/components/schemas/cloud.ProjectKubeNodePoolAttachFloatingIpsParams"}],"description":"Parameters for optional node exposition via a floating IP per node","nullable":true},"autoscale":{"type":"boolean","description":"Enable the auto-scaling on the pool","nullable":true},"autoscaling":{"allOf":[{"$ref":"#/components/schemas/cloud.ProjectKubeNodePoolAutoscalingParams"}],"description":"Autoscaling customization parameters"},"availabilityZones":{"type":"array","description":"List of availability zones where nodes will be created (only 1 zone is supported for now)","nullable":true,"items":{"type":"string"}},"desiredNodes":{"type":"integer","description":"Number of nodes to instantiate (1 by default)"},"flavorName":{"type":"string","description":"Nodes flavor"},"maxNodes":{"type":"integer","description":"Higher limit you accept for the desiredNodes value (100 by default)"},"minNodes":{"type":"integer","description":"Lower limit you accept for the desiredNodes value (0 by default)"},"monthlyBilled":{"type":"boolean","description":"Enable monthly billing for nodes in the pool","nullable":true},"name":{"type":"string","description":"NodePool name"},"template":{"allOf":[{"$ref":"#/components/schemas/cloud.kube.NodePoolTemplate"}],"description":"NodePool template to apply to each children nodes"}},"required":["flavorName"]},"cloud.ProjectKubeCustomization":{"type":"object","description":"Cluster customization","properties":{"apiServer":{"allOf":[{"$ref":"#/components/schemas/cloud.ProjectKubeCustomizationAPIServer"}],"description":"Kubernetes cluster api server customization","nullable":true},"cilium":{"allOf":[{"$ref":"#/components/schemas/cloud.ProjectKubeCustomizationCilium"}],"description":"Kubernetes cluster cilium customization","nullable":true},"kubeProxy":{"allOf":[{"$ref":"#/components/schemas/cloud.ProjectKubeCustomizationKubeProxy"}],"description":"Kubernetes cluster kube-proxy customization","nullable":true}}},"cloud.ProjectKubeCustomizationAPIServer":{"type":"object","description":"Cluster API server customization","properties":{"admissionPlugins":{"allOf":[{"$ref":"#/components/schemas/cloud.ProjectKubeCustomizationAPIServerAdmissionPlugins"}],"description":"Kubernetes cluster api server admission plugins customization","nullable":true}}},"cloud.ProjectKubeCustomizationAPIServerAdmissionPlugins":{"type":"object","description":"Cluster API server admission plugins customization","properties":{"disabled":{"type":"array","description":"Array of disabled admission plugins","nullable":true,"items":{"$ref":"#/components/schemas/cloud.ProjectKubeCustomizationAPIServerAdmissionPluginsEnum"}},"enabled":{"type":"array","description":"Array of enabled admission plugins","nullable":true,"items":{"$ref":"#/components/schemas/cloud.ProjectKubeCustomizationAPIServerAdmissionPluginsEnum"}}}},"cloud.ProjectKubeCustomizationAPIServerAdmissionPluginsEnum":{"type":"string","description":"Enum admission plugins","enum":["AlwaysPullImages","NodeRestriction"]},"cloud.ProjectKubeCustomizationCilium":{"type":"object","description":"Cilium customization","properties":{"clusterId":{"type":"integer","description":"Cilium's clusterID: must be between 1 and 255 if set (mandatory when using clusterMesh feature)","nullable":true},"clusterMesh":{"allOf":[{"$ref":"#/components/schemas/cloud.ProjectKubeCustomizationCiliumClusterMesh"}],"description":"ClusterMesh customization.","nullable":true},"hubble":{"allOf":[{"$ref":"#/components/schemas/cloud.ProjectKubeCustomizationCiliumHubble"}],"description":"Hubble customization.","nullable":true}}},"cloud.ProjectKubeCustomizationCiliumClusterMesh":{"type":"object","description":"ClusterMesh customization","properties":{"apiServer":{"allOf":[{"$ref":"#/components/schemas/cloud.ProjectKubeCustomizationCiliumClusterMeshApiServer"}],"description":"API server customization","nullable":true},"enabled":{"type":"boolean","description":"Enable cluster mesh","nullable":true}}},"cloud.ProjectKubeCustomizationCiliumClusterMeshApiServer":{"type":"object","description":"ClusterMesh customization","properties":{"nodePort":{"type":"integer","description":"Node port","nullable":true},"serviceType":{"allOf":[{"$ref":"#/components/schemas/cloud.ProjectKubeCustomizationCiliumClusterMeshApiServerServiceTypeEnum"}],"description":"Service type","nullable":true}}},"cloud.ProjectKubeCustomizationCiliumClusterMeshApiServerServiceTypeEnum":{"type":"string","description":"Type of service for clustermesh api server","enum":["LoadBalancer","NodePort"]},"cloud.ProjectKubeCustomizationCiliumHubble":{"type":"object","description":"Hubble customization","properties":{"enabled":{"type":"boolean","description":"Enable hubble","nullable":true},"relay":{"allOf":[{"$ref":"#/components/schemas/cloud.ProjectKubeCustomizationCiliumHubbleRelay"}],"description":"Relay customization","nullable":true},"ui":{"allOf":[{"$ref":"#/components/schemas/cloud.ProjectKubeCustomizationCiliumHubbleUI"}],"description":"Hubble UI customization","nullable":true}}},"cloud.ProjectKubeCustomizationCiliumHubbleRelay":{"type":"object","description":"Hubble relay customization","properties":{"enabled":{"type":"boolean","description":"Enable relay","nullable":true}}},"cloud.ProjectKubeCustomizationCiliumHubbleUI":{"type":"object","description":"Hubble UI customization","properties":{"backendResources":{"allOf":[{"$ref":"#/components/schemas/cloud.ProjectKubeCustomizationCiliumHubbleUIResources"}],"description":"Hubble UI Backend Resources requests and limits customizations","nullable":true},"enabled":{"type":"boolean","description":"Enable Hubble UI","nullable":true},"frontendResources":{"allOf":[{"$ref":"#/components/schemas/cloud.ProjectKubeCustomizationCiliumHubbleUIResources"}],"description":"Hubble UI Frontend Resources requests and limits customizations","nullable":true}}},"cloud.ProjectKubeCustomizationCiliumHubbleUIResources":{"type":"object","description":"Hubble UI Resources customization","properties":{"limits":{"allOf":[{"$ref":"#/components/schemas/cloud.ProjectKubeResources"}],"description":"Resources limits customizations","nullable":true},"requests":{"allOf":[{"$ref":"#/components/schemas/cloud.ProjectKubeResources"}],"description":"Resources requests customizations","nullable":true}}},"cloud.ProjectKubeCustomizationKubeProxy":{"type":"object","description":"Cluster kube-proxy customization: iptables and ipvs configurations can both be set at the same time, kube-proxy will use the one according to the cluster's kubeProxyMode value","properties":{"iptables":{"allOf":[{"$ref":"#/components/schemas/cloud.ProjectKubeCustomizationKubeProxyIptables"}],"description":"Kubernetes cluster kube-proxy customization of iptables specific config (durations format is RFC3339 duration, e.g. 'PT60S')","nullable":true},"ipvs":{"allOf":[{"$ref":"#/components/schemas/cloud.ProjectKubeCustomizationKubeProxyIpvs"}],"description":"Kubernetes cluster kube-proxy customization of ipvs specific config (durations format is RFC3339 duration, e.g. 'PT60S')","nullable":true}}},"cloud.ProjectKubeCustomizationKubeProxyIptables":{"type":"object","description":"Configuration used when kube-proxy is configured with iptables mode (durations format is RFC3339 duration, e.g. 'PT60S')","properties":{"minSyncPeriod":{"type":"string","description":"minSyncPeriod is the minimum period that iptables rules are refreshed, in RFC3339 duration format (e.g. 'PT60S')","nullable":true,"format":"duration"},"syncPeriod":{"type":"string","description":"syncPeriod is the period that iptables rules are refreshed, in RFC3339 duration format (e.g. 'PT60S'). Must be greater than 0","nullable":true,"format":"duration"}}},"cloud.ProjectKubeCustomizationKubeProxyIpvs":{"type":"object","description":"Configuration used when kube-proxy is configured with ipvs mode (durations format is RFC3339 duration, e.g. 'PT60S')","properties":{"minSyncPeriod":{"type":"string","description":"minSyncPeriod is the minimum period that ipvs rules are refreshed in RFC3339 duration format (e.g. 'PT60S')","nullable":true,"format":"duration"},"scheduler":{"allOf":[{"$ref":"#/components/schemas/cloud.kube.KubeProxyIpvsSchedulerEnum"}],"description":"ipvs scheduler","nullable":true},"syncPeriod":{"type":"string","description":"syncPeriod is the period that ipvs rules are refreshed in RFC3339 duration format (e.g. 'PT60S'). Must be greater than 0","nullable":true,"format":"duration"},"tcpFinTimeout":{"type":"string","description":"tcpFinTimeout is the timeout value used for IPVS TCP sessions after receiving a FIN in RFC3339 duration format (e.g. 'PT60S'). The default value is 'PT0S', which preserves the current timeout value on the system","nullable":true,"format":"duration"},"tcpTimeout":{"type":"string","description":"tcpTimeout is the timeout value used for idle IPVS TCP sessions in RFC3339 duration format (e.g. 'PT60S'). The default value is 'PT0S', which preserves the current timeout value on the system. Cannot be set between 'PT0S' and 'PT5S', in order to prevent in-cluster networking issues.","nullable":true,"format":"duration"},"udpTimeout":{"type":"string","description":"udpTimeout is the timeout value used for IPVS UDP packets in RFC3339 duration format (e.g. 'PT60S'). The default value is 'PT0S', which preserves the current timeout value on the system","nullable":true,"format":"duration"}}},"cloud.ProjectKubeIpAllocationPolicy":{"type":"object","description":"IP allocation policy.","properties":{"podsIpv4Cidr":{"allOf":[{"$ref":"#/components/schemas/ipv4Block"}],"description":"CIDR used for pods ip allocation","nullable":true},"servicesIpv4Cidr":{"allOf":[{"$ref":"#/components/schemas/ipv4Block"}],"description":"CIDR used for services ip allocation","nullable":true}}},"cloud.ProjectKubeIpRestrictionUpsert":{"type":"object","description":"Missing description","properties":{"ips":{"type":"array","description":"List of ips to add to the cluster api-server restrictions (format with /subnet available)","items":{"$ref":"#/components/schemas/ipBlock"}}}},"cloud.ProjectKubeNodePoolAttachFloatingIpsParams":{"type":"object","description":"Parameters for optional node exposition via a floating IP per node","properties":{"enabled":{"type":"boolean","description":"Enable node exposition via floating IP per node"}}},"cloud.ProjectKubeNodePoolAutoscalingParams":{"type":"object","description":"Missing description","properties":{"scaleDownUnneededTimeSeconds":{"type":"integer","description":"How long a node should be unneeded before it is eligible for scale down"},"scaleDownUnreadyTimeSeconds":{"type":"integer","description":"How long an unready node should be unneeded before it is eligible for scale down"},"scaleDownUtilizationThreshold":{"type":"number","description":"Sum of cpu or memory of all pods running on the node divided by node's corresponding allocatable resource, below which a node can be considered for scale down"}}},"cloud.ProjectKubeNodePoolCreation":{"type":"object","description":"Missing description","properties":{"antiAffinity":{"type":"boolean","description":"Enable anti affinity groups for nodes in the pool","nullable":true},"attachFloatingIps":{"allOf":[{"$ref":"#/components/schemas/cloud.ProjectKubeNodePoolAttachFloatingIpsParams"}],"description":"Parameters for optional node exposition via a floating IP per node","nullable":true},"autoscale":{"type":"boolean","description":"Enable the auto-scaling on the pool","nullable":true},"autoscaling":{"allOf":[{"$ref":"#/components/schemas/cloud.ProjectKubeNodePoolAutoscalingParams"}],"description":"Autoscaling customization parameters"},"availabilityZones":{"type":"array","description":"List of availability zones where nodes will be created (only 1 zone is supported for now)","nullable":true,"items":{"type":"string"}},"desiredNodes":{"type":"integer","description":"Number of nodes to instantiate (1 by default)"},"flavorName":{"type":"string","description":"Nodes flavor"},"maxNodes":{"type":"integer","description":"Higher limit you accept for the desiredNodes value (100 by default)"},"minNodes":{"type":"integer","description":"Lower limit you accept for the desiredNodes value (0 by default)"},"monthlyBilled":{"type":"boolean","description":"Enable monthly billing for nodes in the pool","nullable":true},"name":{"type":"string","description":"NodePool name"},"template":{"allOf":[{"$ref":"#/components/schemas/cloud.kube.NodePoolTemplate"}],"description":"NodePool template to apply to each children nodes"}},"required":["flavorName"]},"cloud.ProjectKubeNodePoolUpdate":{"type":"object","description":"Missing description","properties":{"attachFloatingIps":{"allOf":[{"$ref":"#/components/schemas/cloud.ProjectKubeNodePoolAttachFloatingIpsParams"}],"description":"Parameters for optional node exposition via a floating IP per node","nullable":true},"autoscale":{"type":"boolean","description":"Enable the auto-scaling on the pool","nullable":true},"autoscaling":{"allOf":[{"$ref":"#/components/schemas/cloud.ProjectKubeNodePoolAutoscalingParams"}],"description":"Autoscaling customization parameters"},"desiredNodes":{"type":"integer","description":"New number of nodes wanted in the nodepool"},"maxNodes":{"type":"integer","description":"New maximal number of nodes wanted in the nodepool"},"minNodes":{"type":"integer","description":"New minimal number of nodes wanted in the nodepool"},"nodesToRemove":{"type":"array","description":"List of specific node IDs, openstack instance IDs or Node.Spec.providerIDs to delete during downscale","items":{"type":"string"}},"template":{"allOf":[{"$ref":"#/components/schemas/cloud.kube.NodePoolTemplate"}],"description":"NodePool template to apply to each children nodes"}}},"cloud.ProjectKubeOpenIdConnectCreation":{"type":"object","description":"Creation model for OIDC","properties":{"caContent":{"type":"string","description":"Content of the certificate for the CA, in base64 format, that signed your identity provider's web certificate. Defaults to the host's root CAs.","nullable":true},"clientId":{"type":"string","description":"Client ID"},"groupsClaim":{"type":"array","description":"JWT claim to use as the user's group. If the claim is present it must be an array of strings.","nullable":true,"items":{"type":"string"}},"groupsPrefix":{"type":"string","description":"Prefix prepended to group claims to prevent clashes with existing names (such as system: groups). For example, the value oidc: will create group names like oidc:engineering and oidc:infra.","nullable":true},"issuerUrl":{"type":"string","description":"Issuer URL"},"requiredClaim":{"type":"array","description":"key=value pairs that describe required claims in the ID Token. If set, the claims are verified to be present in the ID Token with a matching value.","nullable":true,"items":{"type":"string"}},"signingAlgorithms":{"type":"array","description":"The signing algorithms accepted. Default is \"RS256\".","nullable":true,"items":{"$ref":"#/components/schemas/cloud.kube.OpenIdConnectSigningAlgorithmsEnum"}},"usernameClaim":{"type":"string","description":"JWT claim to use as the user name. By default sub, which is expected to be a unique identifier of the end user. Admins can choose other claims, such as email or name, depending on their provider. However, claims other than email will be prefixed with the issuer URL to prevent naming clashes with other plugins.","nullable":true},"usernamePrefix":{"type":"string","description":"Prefix prepended to username claims to prevent clashes with existing names (such as system: users). For example, the value oidc: will create usernames like oidc:jane.doe. If this field isn't set and oidcUsernameClaim is a value other than email the prefix defaults to ( Issuer URL )# where ( Issuer URL ) is the value of oidcIssuerUrl. The value - can be used to disable all prefixing.","nullable":true}},"required":["clientId","issuerUrl"]},"cloud.ProjectKubeOpenIdConnectUpdate":{"type":"object","description":"Update model for OIDC","properties":{"caContent":{"type":"string","description":"Content of the certificate for the CA, in base64 format, that signed your identity provider's web certificate. Defaults to the host's root CAs.","nullable":true},"clientId":{"type":"string","description":"Client ID"},"groupsClaim":{"type":"array","description":"JWT claim to use as the user's group. If the claim is present it must be an array of strings.","nullable":true,"items":{"type":"string"}},"groupsPrefix":{"type":"string","description":"Prefix prepended to group claims to prevent clashes with existing names (such as system: groups). For example, the value oidc: will create group names like oidc:engineering and oidc:infra.","nullable":true},"issuerUrl":{"type":"string","description":"Issuer URL"},"requiredClaim":{"type":"array","description":"key=value pairs that describe required claims in the ID Token. If set, the claims are verified to be present in the ID Token with a matching value.","nullable":true,"items":{"type":"string"}},"signingAlgorithms":{"type":"array","description":"The signing algorithms accepted. Default is \"RS256\".","nullable":true,"items":{"$ref":"#/components/schemas/cloud.kube.OpenIdConnectSigningAlgorithmsEnum"}},"usernameClaim":{"type":"string","description":"JWT claim to use as the user name. By default sub, which is expected to be a unique identifier of the end user. Admins can choose other claims, such as email or name, depending on their provider. However, claims other than email will be prefixed with the issuer URL to prevent naming clashes with other plugins.","nullable":true},"usernamePrefix":{"type":"string","description":"Prefix prepended to username claims to prevent clashes with existing names (such as system: users). For example, the value oidc: will create usernames like oidc:jane.doe. If this field isn't set and oidcUsernameClaim is a value other than email the prefix defaults to ( Issuer URL )# where ( Issuer URL ) is the value of oidcIssuerUrl. The value - can be used to disable all prefixing.","nullable":true}}},"cloud.ProjectKubeResetCreation":{"type":"object","description":"Model object to reset kube cluster","properties":{"customization":{"allOf":[{"$ref":"#/components/schemas/cloud.ProjectKubeCustomization"}],"description":"Kubernetes cluster customization"},"ipAllocationPolicy":{"allOf":[{"$ref":"#/components/schemas/cloud.ProjectKubeIpAllocationPolicy"}],"description":"IP allocation policy. This field is optional."},"kubeProxyMode":{"allOf":[{"$ref":"#/components/schemas/cloud.kube.KubeProxyModeEnum"}],"description":"Selected mode for kube-proxy","nullable":true},"loadBalancersSubnetId":{"type":"string","description":"OpenStack subnet ID that the load balancers will use. Optional, can be updated with endpoint /cloud/project/{serviceName}/kube/{kubeId}/updateLoadBalancersSubnetId, can only be set if privateNetworkId and nodesSubnetId are also set","format":"uuid"},"name":{"type":"string","description":"New cluster name"},"nodesSubnetId":{"type":"string","description":"OpenStack subnet ID that the cluster nodes will use. Optional, can only be set on cluster creation or reset, can only be set if privateNetworkId is also set. If unspecified, it will be selected automatically when the first node is created."},"privateNetworkConfiguration":{"allOf":[{"$ref":"#/components/schemas/cloud.kube.PrivateNetworkConfiguration"}],"description":"The private network configuration."},"privateNetworkId":{"type":"string","description":"OpenStack private network ID that the cluster will use. Optional, can only be set on cluster creation or reset. If unspecified, the cluster will use the public network."},"updatePolicy":{"allOf":[{"$ref":"#/components/schemas/cloud.kube.UpdatePolicyEnum"}],"description":"Enum values for UpdatePolicy"},"version":{"allOf":[{"$ref":"#/components/schemas/cloud.kube.VersionEnum"}],"description":"Kubernetes version to use after reset, by default it keeps the current version"},"workerNodesPolicy":{"allOf":[{"$ref":"#/components/schemas/cloud.kube.ResetWorkerNodesPolicyEnum"}],"description":"Worker nodes reset policy, default is delete"}}},"cloud.ProjectKubeResources":{"type":"object","description":"Kubernetes resources definitions","properties":{"cpu":{"type":"string","description":"cpu resource (format according to Kubernetes specification. e.g. cpu: 500m)","nullable":true},"memory":{"type":"string","description":"memory resource (format according to Kubernetes specification. e.g. memory: 512Mi)","nullable":true}}},"cloud.ProjectKubeRestart":{"type":"object","description":"Missing description","properties":{"force":{"type":"boolean","description":"Force restarting control plane apiserver (will create a slight downtime)","nullable":true}}},"cloud.ProjectKubeUpdate":{"type":"object","description":"Missing description","properties":{"name":{"type":"string","description":"Cluster new name"},"updatePolicy":{"allOf":[{"$ref":"#/components/schemas/cloud.kube.UpdatePolicyEnum"}],"description":"Enum values for UpdatePolicy"}}},"cloud.ProjectKubeUpdateCreation":{"type":"object","description":"Missing description","properties":{"force":{"type":"boolean","description":"Deprecated, has no effect","nullable":true},"strategy":{"allOf":[{"$ref":"#/components/schemas/cloud.kube.UpdateStrategyEnum"}],"description":"The update strategy to apply on your service (next patch or minor version)"}}},"cloud.ProjectKubeUpdateLoadBalancersSubnetId":{"type":"object","description":"Model object to update loadBalancersSubnetId property of a kube cluster","properties":{"loadBalancersSubnetId":{"type":"string","description":"OpenStack subnet ID that the load balancers will use","nullable":true,"format":"uuid"}}},"cloud.ProjectKubeUpdatePolicyUpdate":{"type":"object","description":"Missing description","properties":{"updatePolicy":{"allOf":[{"$ref":"#/components/schemas/cloud.kube.UpdatePolicyEnum"}],"description":"Update policy"}},"required":["updatePolicy"]},"cloud.ProjectNetworkPrivateCreation":{"type":"object","description":"Missing description","properties":{"name":{"type":"string","description":"Network name"},"regions":{"type":"array","description":"Region where to activate private network. No parameters means all region","nullable":true,"items":{"type":"string"}},"vlanId":{"type":"integer","description":"Vland id, between 0 and 4095. 0 value means no vlan.","nullable":true}},"required":["name"]},"cloud.ProjectNetworkPrivateRegionCreation":{"type":"object","description":"Missing description","properties":{"region":{"type":"string","description":"Region to active on your network"}},"required":["region"]},"cloud.ProjectNetworkPrivateSubnetCreation":{"type":"object","description":"Missing description","properties":{"dhcp":{"type":"boolean","description":"Enable DHCP"},"end":{"allOf":[{"$ref":"#/components/schemas/ip"}],"description":"Last IP for this region (eg: 192.168.1.24)"},"network":{"allOf":[{"$ref":"#/components/schemas/ipBlock"}],"description":"Global network with cidr (eg: 192.168.1.0/24)"},"noGateway":{"type":"boolean","description":"Set to true if you don't want to set a default gateway IP"},"region":{"type":"string","description":"Region where this subnet will be created"},"start":{"allOf":[{"$ref":"#/components/schemas/ip"}],"description":"First IP for this region (eg: 192.168.1.12)"}},"required":["dhcp","end","network","noGateway","region","start"]},"cloud.ProjectNetworkPrivateSubnetUpdate":{"type":"object","description":"Missing description","properties":{"dhcp":{"type":"boolean","description":"Set to true if you don't want to set a default gateway IP"},"disableGateway":{"type":"boolean","description":"Set to true if you want to disable the default gateway"},"gatewayIp":{"type":"string","description":"Gateway IP (this field is used if noGateway = false)","nullable":true}},"required":["dhcp","disableGateway"]},"cloud.ProjectNetworkPrivateUpdate":{"type":"object","description":"Missing description","properties":{"name":{"type":"string","description":"name"}},"required":["name"]},"cloud.ProjectRegionCreation":{"type":"object","description":"Missing description","properties":{"region":{"type":"string","description":"Region to add on your project"}},"required":["region"]},"cloud.ProjectRegionQuotaCreation":{"type":"object","description":"Missing description","properties":{"name":{"type":"string","description":"Name of the new quota"}},"required":["name"]},"cloud.ProjectRegionWorkflowBackupCreation":{"type":"object","description":"Missing description","properties":{"cron":{"type":"string","description":"Unix Cron pattern (eg: '* * * * *')"},"instanceId":{"type":"string","description":"Instance ID to backup"},"maxExecutionCount":{"type":"integer","description":"Number of execution to process before ending the job. Null value means that the job will never end.","nullable":true},"name":{"type":"string","description":"Name of your backup job"},"rotation":{"type":"integer","description":"Number of backup to keep"}},"required":["cron","instanceId","name","rotation"]},"cloud.ProjectSshkeyCreation":{"type":"object","description":"Missing description","properties":{"name":{"type":"string","description":"SSH key name"},"publicKey":{"type":"string","description":"SSH public key"},"region":{"type":"string","description":"Region to create SSH key","nullable":true}},"required":["name","publicKey"]},"cloud.ProjectStorageCorsCreation":{"type":"object","description":"Missing description","properties":{"origin":{"type":"string","description":"Allow this origin"}},"required":["origin"]},"cloud.ProjectStorageCreation":{"type":"object","description":"Missing description","properties":{"archive":{"type":"boolean","description":"Archive container flag"},"containerName":{"type":"string","description":"Container name"},"region":{"type":"string","description":"Region"}},"required":["archive","containerName","region"]},"cloud.ProjectStoragePublicUrlCreation":{"type":"object","description":"Missing description","properties":{"expirationDate":{"type":"string","description":"Temporary URL expiration","format":"date-time"},"objectName":{"type":"string","description":"Object name"}},"required":["expirationDate","objectName"]},"cloud.ProjectStorageUpdate":{"type":"object","description":"Missing description","properties":{"containerType":{"allOf":[{"$ref":"#/components/schemas/cloud.storage.TypeEnum"}],"description":"Container type","nullable":true}}},"cloud.ProjectStorageUserCreation":{"type":"object","description":"Missing description","properties":{"description":{"type":"string","description":"User description","nullable":true},"right":{"allOf":[{"$ref":"#/components/schemas/cloud.storage.RightEnum"}],"description":"User right (all, read, write)"}},"required":["right"]},"cloud.ProjectUserCreation":{"type":"object","description":"Missing description","properties":{"description":{"type":"string","description":"User description","nullable":true},"role":{"allOf":[{"$ref":"#/components/schemas/cloud.user.RoleEnum"}],"description":"Openstack keystone role name","nullable":true},"roles":{"type":"array","description":"Openstack keystone roles names","nullable":true,"items":{"$ref":"#/components/schemas/cloud.user.RoleEnum"}}}},"cloud.ProjectUserRoleCreation":{"type":"object","description":"Missing description","properties":{"roleId":{"type":"string","description":"Role id"}},"required":["roleId"]},"cloud.ProjectUserRoleUpdate":{"type":"object","description":"Missing description","properties":{"rolesIds":{"type":"array","description":"Roles ids","items":{"type":"string"}}},"required":["rolesIds"]},"cloud.ProjectUserTokenCreation":{"type":"object","description":"Missing description","properties":{"password":{"type":"string","description":"User password","format":"password"}},"required":["password"]},"cloud.ProjectVolumeAttachCreation":{"type":"object","description":"Missing description","properties":{"instanceId":{"type":"string","description":"Instance id"}},"required":["instanceId"]},"cloud.ProjectVolumeCreation":{"type":"object","description":"Missing description","properties":{"availabilityZone":{"type":"string","description":"Availability zone of the volume (required for 3AZ regions, forbidden for classic type)","nullable":true},"description":{"type":"string","description":"Volume description","nullable":true},"imageId":{"type":"string","description":"Id of image to create a bootable volume","nullable":true},"name":{"type":"string","description":"Volume name","nullable":true},"region":{"type":"string","description":"Volume region"},"size":{"type":"integer","description":"Volume size (in GiB)"},"snapshotId":{"type":"string","description":"Source snapshot id","nullable":true},"type":{"allOf":[{"$ref":"#/components/schemas/cloud.volume.VolumeTypeEnum"}],"description":"Volume type"}},"required":["region","size","type"]},"cloud.ProjectVolumeDetachCreation":{"type":"object","description":"Missing description","properties":{"instanceId":{"type":"string","description":"Instance id"}},"required":["instanceId"]},"cloud.ProjectVolumeSnapshotCreation":{"type":"object","description":"Missing description","properties":{"description":{"type":"string","description":"Snapshot description","nullable":true},"name":{"type":"string","description":"Snapshot name","nullable":true}}},"cloud.ProjectVolumeUpdate":{"type":"object","description":"Missing description","properties":{"description":{"type":"string","description":"Volume description","nullable":true},"name":{"type":"string","description":"Volume name","nullable":true}}},"cloud.ProjectVolumeUpsizeCreation":{"type":"object","description":"Missing description","properties":{"size":{"type":"integer","description":"New volume size (in GiB) (must be greater than current one)"}},"required":["size"]},"cloud.ProjectWithIAM":{"type":"object","description":"Project","properties":{"access":{"allOf":[{"$ref":"#/components/schemas/cloud.AccessTypeEnum"}],"description":"Project access","readOnly":true},"creationDate":{"type":"string","description":"Project creation date","format":"date-time","readOnly":true},"description":{"type":"string","description":"Description of your project","nullable":true},"expiration":{"type":"string","description":"Expiration date of your project. After this date, your project will be deleted","nullable":true,"format":"date-time","readOnly":true},"iam":{"allOf":[{"$ref":"#/components/schemas/iam.ResourceMetadata"}],"description":"IAM resource metadata","nullable":true,"readOnly":true},"manualQuota":{"type":"boolean","description":"Manual quota prevent automatic quota upgrade"},"orderId":{"type":"integer","description":"Project order id","nullable":true,"readOnly":true},"planCode":{"type":"string","description":"Order plan code","readOnly":true},"projectName":{"type":"string","description":"Project name","nullable":true,"readOnly":true},"project_id":{"type":"string","description":"Project id","readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ProjectStatusEnum"}],"description":"Current status","readOnly":true},"unleash":{"type":"boolean","description":"Project unleashed","readOnly":true}}},"cloud.Region":{"type":"object","description":"Details about your region","properties":{"availabilityZones":{"type":"array","description":"Availability zones of the region","items":{"type":"string"},"readOnly":true},"continentCode":{"allOf":[{"$ref":"#/components/schemas/cloud.RegionContinentEnum"}],"description":"Region continent code","readOnly":true},"countryCode":{"allOf":[{"$ref":"#/components/schemas/countryCode2LettersEnum"}],"description":"Region country code","readOnly":true},"datacenterLocation":{"type":"string","description":"Location of the datacenter where the region is","readOnly":true},"ipCountries":{"type":"array","description":"Allowed countries for failover ip","items":{"$ref":"#/components/schemas/cloud.IpCountryEnum"},"readOnly":true},"name":{"type":"string","description":"Region name","readOnly":true},"services":{"type":"array","description":"Details about components status","items":{"$ref":"#/components/schemas/cloud.Component"},"readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.RegionStatusEnum"}],"description":"Openstack region status","readOnly":true},"type":{"allOf":[{"$ref":"#/components/schemas/cloud.RegionTypeEnum"}],"description":"Region type","readOnly":true}}},"cloud.RegionContinentEnum":{"type":"string","description":"Enum values for ContinentCode","enum":["AF","ASIA","EU","NA","SA","US"]},"cloud.RegionStatusEnum":{"type":"string","description":"Enum values for Status","enum":["DOWN","MAINTENANCE","UP"]},"cloud.RegionTypeEnum":{"type":"string","description":"Enum values for region type","enum":["localzone","region","region-3-az"]},"cloud.ServiceStatusEnum":{"type":"string","description":"Enum values for Status","enum":["DOWN","UP"]},"cloud.StorageContainer":{"type":"object","description":"Object storage container.","properties":{"arn":{"type":"string","description":"Container ARN (Amazon Resource Name).","readOnly":true},"createdAt":{"type":"string","description":"The date and timestamp when the container was created.","format":"date-time","readOnly":true},"encryption":{"allOf":[{"$ref":"#/components/schemas/cloud.StorageEncryptionObject"}],"description":"Encryption configuration.","nullable":true,"readOnly":true},"lifecycle":{"allOf":[{"$ref":"#/components/schemas/cloud.StorageLifecycleConfiguration"}],"description":"Lifecycle configuration","nullable":true,"readOnly":true},"name":{"type":"string","description":"Container name.","readOnly":true},"objectLock":{"allOf":[{"$ref":"#/components/schemas/cloud.StorageLockConfiguration"}],"description":"Object lock configuration.","nullable":true,"readOnly":true},"objects":{"type":"array","description":"Container objects (deprecated).","items":{"$ref":"#/components/schemas/cloud.StorageObjectList"},"readOnly":true},"objectsCount":{"type":"integer","description":"Container total objects count.","readOnly":true},"objectsSize":{"type":"integer","description":"Container total objects size in bytes.","readOnly":true},"ownerId":{"type":"integer","description":"Container owner user ID.","readOnly":true},"region":{"type":"string","description":"Container region.","readOnly":true},"replication":{"allOf":[{"$ref":"#/components/schemas/cloud.StorageReplicationObject"}],"description":"Replication configuration.","nullable":true,"readOnly":true},"tags":{"type":"object","description":"Container tags.","nullable":true,"additionalProperties":{"type":"string"},"readOnly":true},"versioning":{"allOf":[{"$ref":"#/components/schemas/cloud.StorageVersioningObject"}],"description":"Versioning configuration.","nullable":true,"readOnly":true},"virtualHost":{"type":"string","description":"Container virtual host.","readOnly":true}}},"cloud.StorageContainerCreation":{"type":"object","description":"Create an object storage container.","properties":{"encryption":{"allOf":[{"$ref":"#/components/schemas/cloud.StorageEncryptionObject"}],"description":"Encryption configuration.","nullable":true},"lifecycle":{"allOf":[{"$ref":"#/components/schemas/cloud.StorageLifecycleConfiguration"}],"description":"Lifecycle configuration","nullable":true},"name":{"type":"string","description":"Container name."},"objectLock":{"allOf":[{"$ref":"#/components/schemas/cloud.StorageLockConfiguration"}],"description":"Object lock configuration.","nullable":true},"ownerId":{"type":"integer","description":"Container owner user ID.","nullable":true},"replication":{"allOf":[{"$ref":"#/components/schemas/cloud.StorageReplicationObjectIn"}],"description":"Replication configuration.","nullable":true},"tags":{"type":"object","description":"Container tags.","nullable":true,"additionalProperties":{"type":"string"}},"versioning":{"allOf":[{"$ref":"#/components/schemas/cloud.StorageVersioningObject"}],"description":"Versioning configuration.","nullable":true}},"required":["name"]},"cloud.StorageContainerList":{"type":"object","description":"Object storage container.","properties":{"arn":{"type":"string","description":"Container ARN (Amazon Resource Name).","readOnly":true},"createdAt":{"type":"string","description":"The date and timestamp when the container was created.","format":"date-time","readOnly":true},"name":{"type":"string","description":"Container name.","readOnly":true},"objects":{"type":"array","description":"Container objects (deprecated).","items":{"$ref":"#/components/schemas/cloud.StorageObjectList"},"readOnly":true},"objectsCount":{"type":"integer","description":"Container total objects count.","readOnly":true},"objectsSize":{"type":"integer","description":"Container total objects size in bytes.","readOnly":true},"ownerId":{"type":"integer","description":"Container owner user ID.","readOnly":true},"region":{"type":"string","description":"Container region.","readOnly":true},"virtualHost":{"type":"string","description":"Container virtual host.","readOnly":true}}},"cloud.StorageContainerUpdate":{"type":"object","description":"Create an object storage container.","properties":{"encryption":{"allOf":[{"$ref":"#/components/schemas/cloud.StorageEncryptionObject"}],"description":"Encryption configuration.","nullable":true},"lifecycle":{"allOf":[{"$ref":"#/components/schemas/cloud.StorageLifecycleConfiguration"}],"description":"Lifecycle configuration","nullable":true},"objectLock":{"allOf":[{"$ref":"#/components/schemas/cloud.StorageLockConfiguration"}],"description":"Object lock configuration.","nullable":true},"replication":{"allOf":[{"$ref":"#/components/schemas/cloud.StorageReplicationObjectIn"}],"description":"Replication configuration.","nullable":true},"tags":{"type":"object","description":"Container tags.","nullable":true,"additionalProperties":{"type":"string"}},"versioning":{"allOf":[{"$ref":"#/components/schemas/cloud.StorageVersioningObject"}],"description":"Versioning configuration.","nullable":true}}},"cloud.StorageCopyObjectIn":{"type":"object","description":"Copy object input.","properties":{"storageClass":{"allOf":[{"$ref":"#/components/schemas/cloud.storage.StorageClassEnum"}],"description":"Target Storage class. When copying an object within the same bucket with the same key, specify a different storage class to change an object's storage class.","nullable":true},"targetBucket":{"type":"string","description":"Target bucket name. Can be the same as source bucket name to copy an object within the same bucket."},"targetKey":{"type":"string","description":"Target object key."}}},"cloud.StorageCopyObjectOut":{"type":"object","description":"Copy object output.","properties":{"etag":{"type":"string","description":"The entity tag is a hash of the object that reflects changes only to the contents.","readOnly":true},"versionId":{"type":"string","description":"Version ID of the copied object.","nullable":true,"readOnly":true}}},"cloud.StorageEncryptionObject":{"type":"object","description":"Encryption configuration.","properties":{"sseAlgorithm":{"allOf":[{"$ref":"#/components/schemas/cloud.storage.EncryptionAlgorithmEnum"}],"description":"Encryption algorithm.","nullable":true}}},"cloud.StorageJobReplication":{"type":"object","description":"Replication storage job","properties":{"completed":{"type":"integer","description":"Number of successfully replicated objects","readOnly":true},"creationDate":{"type":"string","description":"Job creation date","format":"date-time","readOnly":true},"failed":{"type":"integer","description":"Number of failed replicated objects","readOnly":true},"id":{"type":"string","description":"Job ID","readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.storage.StorageJobReplicationStatusEnum"}],"description":"Job replication status","readOnly":true},"stuck":{"type":"integer","description":"Number of stuck replicated objects","readOnly":true},"total":{"type":"integer","description":"Total number of objects to replicate","readOnly":true}}},"cloud.StorageLifecycleConfiguration":{"type":"object","description":"Object Storage lifecycle configuration","properties":{"rules":{"type":"array","description":"Lifecycle rules","nullable":true,"items":{"$ref":"#/components/schemas/cloud.storage.LifecycleRule"}}},"required":["rules"]},"cloud.StorageLifecycleRuleAbortIncompleteMultipartUpload":{"type":"object","description":"Abort incomplete multipart upload configuration","properties":{"daysAfterInitiation":{"type":"integer","description":"Specifies the number of days after which an incomplete multipart upload is aborted"}},"required":["daysAfterInitiation"]},"cloud.StorageLifecycleRuleExpiration":{"type":"object","description":"Lifecycle rule expiration configuration","properties":{"date":{"type":"string","description":"Indicates at what date the objects will be deleted.","nullable":true,"format":"date"},"days":{"type":"integer","description":"Objects will be deleted past this lifetime.","nullable":true},"expiredObjectDeleteMarker":{"type":"boolean","description":"Indicates whether a delete marker with no noncurrent versions will be removed. If set to true, the delete marker will be expired; if set to false the policy takes no action. This cannot be specified with Days or Date.","nullable":true}}},"cloud.StorageLifecycleRuleFilter":{"type":"object","description":"Object Storage replication configuration rule filter","properties":{"objectSizeGreaterThan":{"type":"integer","description":"Minimum object size in bytes to which the rule applies.","nullable":true},"objectSizeLessThan":{"type":"integer","description":"Maximum object size in bytes to which the rule applies.","nullable":true},"prefix":{"type":"string","description":"Prefix filter","nullable":true},"tags":{"type":"object","description":"Tags filter","nullable":true,"additionalProperties":{"type":"string"}}}},"cloud.StorageLifecycleRuleNoncurrentVersionExpiration":{"type":"object","description":"Specifies when noncurrent object versions expire","properties":{"newerNoncurrentVersions":{"type":"integer","description":"Specifies how many noncurrent versions to retain. You can specify up to 100 noncurrent versions to retain. All noncurrent versions beyond the specified number to retain will be permanently deleted.","nullable":true},"noncurrentDays":{"type":"integer","description":"Specifies the number of days an object is noncurrent before the associated action can be performed.","nullable":true}}},"cloud.StorageLifecycleRuleNoncurrentVersionTransition":{"type":"object","description":"Specifies the transition rule for the lifecycle rule that describes when noncurrent objects transition to a specific storage class.","properties":{"newerNoncurrentVersions":{"type":"integer","description":"Specifies how many noncurrent versions to retain in the same storage class before transitioning objects. You can specify up to 100 noncurrent versions to retain.","nullable":true},"noncurrentDays":{"type":"integer","description":"Specifies the number of days an object is noncurrent before the associated action can be performed.","nullable":true},"storageClass":{"allOf":[{"$ref":"#/components/schemas/cloud.storage.StorageClassEnum"}],"description":"The storage class to which you want the object to transition.","nullable":true}}},"cloud.StorageLifecycleRuleTransition":{"type":"object","description":"Specifies when an object transitions to a specified storage class.","properties":{"date":{"type":"string","description":"Indicates when objects are transitioned to the specified storage class","nullable":true,"format":"date"},"days":{"type":"integer","description":"Indicates the number of days after creation when objects are transitioned to the specified storage class","nullable":true},"storageClass":{"allOf":[{"$ref":"#/components/schemas/cloud.storage.LifecycleRuleTransitionStorageClassEnum"}],"description":"The storage class to which you want the object to transition."}}},"cloud.StorageLockConfiguration":{"type":"object","description":"Object lock configuration.","properties":{"rule":{"allOf":[{"$ref":"#/components/schemas/cloud.StorageLockConfigurationRule"}],"description":"Object lock default rule.","nullable":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.storage.ObjectLockStatusEnum"}],"description":"Object lock status."}}},"cloud.StorageLockConfigurationRule":{"type":"object","description":"Object lock default configuration rule.","properties":{"mode":{"allOf":[{"$ref":"#/components/schemas/cloud.storage.ObjectLockModeEnum"}],"description":"Object lock mode."},"period":{"type":"string","description":"The retention period that the default retention configuration must apply.","format":"duration"}}},"cloud.StorageMultipartUpload":{"type":"object","description":"StorageMultipartUpload","properties":{"createdAt":{"type":"string","description":"Initiation date of the multipart upload","nullable":true,"format":"date-time","readOnly":true},"id":{"type":"string","description":"Multipart upload ID","readOnly":true},"key":{"type":"string","description":"Object key","readOnly":true},"storageClass":{"allOf":[{"$ref":"#/components/schemas/cloud.storage.StorageClassEnum"}],"description":"Storage class of the object","readOnly":true}}},"cloud.StorageMultipartUploadCreation":{"type":"object","description":"StorageMultipartUploadCreation","properties":{"key":{"type":"string","description":"Object key"},"storageClass":{"allOf":[{"$ref":"#/components/schemas/cloud.storage.StorageClassEnum"}],"description":"Storage class for the object"}},"required":["key"]},"cloud.StorageMultipartUploadPart":{"type":"object","description":"StorageMultipartUploadPart","properties":{"etag":{"type":"string","description":"ETag of the part","readOnly":true},"lastModified":{"type":"string","description":"Last modified date of the part","nullable":true,"format":"date-time","readOnly":true},"number":{"type":"integer","description":"Part number","readOnly":true},"size":{"type":"integer","description":"Size of the part in bytes","readOnly":true}}},"cloud.StorageMultipartUploadParts":{"type":"object","description":"StorageMultipartUploadParts","properties":{"parts":{"type":"array","description":"Parts of the multipart upload","items":{"$ref":"#/components/schemas/cloud.StorageMultipartUploadPart"},"readOnly":true},"storageClass":{"allOf":[{"$ref":"#/components/schemas/cloud.storage.StorageClassEnum"}],"description":"Storage class of the object","readOnly":true}}},"cloud.StorageObject":{"type":"object","description":"Object","properties":{"etag":{"type":"string","description":"The entity tag is a hash of the object that reflects changes only to the contents. The etag is omitted when isDeleteMarker is true.","nullable":true,"readOnly":true},"isDeleteMarker":{"type":"boolean","description":"True when the entry represents a delete marker. This field is included only when using withVersions set to true.","nullable":true,"readOnly":true},"isLatest":{"type":"boolean","description":"True when the entry is the latest version of the object or delete marker.","nullable":true,"readOnly":true},"key":{"type":"string","description":"The name assigned to an object. Use the object key to retrieve the object.","readOnly":true},"lastModified":{"type":"string","description":"Last modification date.","format":"date-time","readOnly":true},"legalHold":{"allOf":[{"$ref":"#/components/schemas/cloud.storage.ObjectLegalHoldStatusEnum"}],"description":"Object legal hold status.","nullable":true,"readOnly":true},"lock":{"allOf":[{"$ref":"#/components/schemas/cloud.StorageObjectRetentionConfiguration"}],"description":"Object lock retention configuration, if any.","nullable":true,"readOnly":true},"replicationStatus":{"allOf":[{"$ref":"#/components/schemas/cloud.storage.ObjectReplicationStatusEnum"}],"description":"Object replication status.","nullable":true,"readOnly":true},"restoreStatus":{"allOf":[{"$ref":"#/components/schemas/cloud.StorageObjectRestoreStatus"}],"description":"Specifies the restoration status of an object, if any. Objects in certain storage classes must be restored before they can be retrieved.","nullable":true,"readOnly":true},"size":{"type":"integer","description":"Size in bytes of the object.","readOnly":true},"storageClass":{"allOf":[{"$ref":"#/components/schemas/cloud.storage.StorageClassEnum"}],"description":"The storage class used to store the object.","nullable":true,"readOnly":true},"versionId":{"type":"string","description":"The version ID of the object.","nullable":true,"readOnly":true}}},"cloud.StorageObjectDelete":{"type":"object","description":"Object to delete.","properties":{"key":{"type":"string","description":"Key of the object."},"versionId":{"type":"string","description":"Version ID of the object.","nullable":true}},"required":["key"]},"cloud.StorageObjectDeleteBulk":{"type":"object","description":"Objects to delete.","properties":{"objects":{"type":"array","description":"Objects to delete.","items":{"$ref":"#/components/schemas/cloud.StorageObjectDelete"}}},"required":["objects"]},"cloud.StorageObjectDeleteBulkResponse":{"type":"object","description":"Bulk delete response containing deleted objects and errors.","properties":{"deleted":{"type":"array","description":"List of successfully deleted objects.","items":{"$ref":"#/components/schemas/cloud.StorageObjectDeleted"},"readOnly":true},"errors":{"type":"array","description":"List of objects that failed to delete.","items":{"$ref":"#/components/schemas/cloud.StorageObjectDeleteError"},"readOnly":true}}},"cloud.StorageObjectDeleteError":{"type":"object","description":"Object deletion error.","properties":{"code":{"type":"string","description":"Error code.","readOnly":true},"error":{"type":"string","description":"Error message.","readOnly":true},"key":{"type":"string","description":"Key of the object that failed to delete.","readOnly":true},"versionId":{"type":"string","description":"Version ID of the object that failed to delete.","nullable":true,"readOnly":true}}},"cloud.StorageObjectDeleted":{"type":"object","description":"Successfully deleted object.","properties":{"deleteMarkerVersionId":{"type":"string","description":"Version ID of the delete marker created.","nullable":true,"readOnly":true},"key":{"type":"string","description":"Key of the deleted object.","readOnly":true},"versionId":{"type":"string","description":"Version ID of the deleted object.","nullable":true,"readOnly":true},"wasADeleteMarker":{"type":"boolean","description":"Indicates whether the object was a delete marker.","readOnly":true}}},"cloud.StorageObjectList":{"type":"object","description":"Object","properties":{"etag":{"type":"string","description":"The entity tag is a hash of the object that reflects changes only to the contents. The etag is omitted when isDeleteMarker or isCommonPrefix is true.","nullable":true,"readOnly":true},"isCommonPrefix":{"type":"boolean","description":"True when the entry represents a common prefix. This field is included only when specifying a delimiter.","nullable":true,"readOnly":true},"isDeleteMarker":{"type":"boolean","description":"True when the entry represents a delete marker. This field is included only when using withVersions set to true.","nullable":true,"readOnly":true},"isLatest":{"type":"boolean","description":"True when the entry is the latest version of the object or delete marker.","nullable":true,"readOnly":true},"key":{"type":"string","description":"The name assigned to an object. Use the object key to retrieve the object.","readOnly":true},"lastModified":{"type":"string","description":"Last modification date. This field is omitted when isCommonPrefix is true.","nullable":true,"format":"date-time","readOnly":true},"restoreStatus":{"allOf":[{"$ref":"#/components/schemas/cloud.StorageObjectRestoreStatus"}],"description":"Specifies the restoration status of an object, if any. Objects in certain storage classes must be restored before they can be retrieved.","nullable":true,"readOnly":true},"size":{"type":"integer","description":"Size in bytes of the object.","readOnly":true},"storageClass":{"allOf":[{"$ref":"#/components/schemas/cloud.storage.StorageClassEnum"}],"description":"The storage class used to store the object.","nullable":true,"readOnly":true},"versionId":{"type":"string","description":"The version ID of the object.","nullable":true,"readOnly":true}}},"cloud.StorageObjectRestoreStatus":{"type":"object","description":"Specifies the restoration status of an object. Objects in certain storage classes must be restored before they can be retrieved.","properties":{"expireDate":{"type":"string","description":"Indicates when the restored copy will expire.","nullable":true,"format":"date-time","readOnly":true},"inProgress":{"type":"boolean","description":"Specifies whether the object is currently being restored.","readOnly":true}}},"cloud.StorageObjectRetentionConfiguration":{"type":"object","description":"Object retention configuration.","properties":{"mode":{"allOf":[{"$ref":"#/components/schemas/cloud.storage.ObjectLockModeEnum"}],"description":"Object lock retention mode."},"retainUntil":{"type":"string","description":"The date on which this object lock retention will expire.","format":"date-time"}},"required":["mode","retainUntil"]},"cloud.StorageObjectUpdate":{"type":"object","description":"Create a container.","properties":{"legalHold":{"allOf":[{"$ref":"#/components/schemas/cloud.storage.ObjectLegalHoldStatusEnum"}],"description":"Object legal hold status.","nullable":true},"lock":{"allOf":[{"$ref":"#/components/schemas/cloud.StorageObjectRetentionConfiguration"}],"description":"Object lock retention configuration.","nullable":true}}},"cloud.StorageObjectVersion":{"type":"object","description":"Object","properties":{"etag":{"type":"string","description":"The entity tag is a hash of the object that reflects changes only to the contents. The etag is omitted when isDeleteMarker is true.","nullable":true,"readOnly":true},"isDeleteMarker":{"type":"boolean","description":"True when the entry represents a delete marker. This field is included only when using withVersions set to true.","nullable":true,"readOnly":true},"isLatest":{"type":"boolean","description":"True when the entry is the latest version of the object or delete marker.","nullable":true,"readOnly":true},"key":{"type":"string","description":"The name assigned to an object. Use the object key to retrieve the object.","readOnly":true},"lastModified":{"type":"string","description":"Last modification date.","format":"date-time","readOnly":true},"legalHold":{"allOf":[{"$ref":"#/components/schemas/cloud.storage.ObjectLegalHoldStatusEnum"}],"description":"Object legal hold status.","nullable":true,"readOnly":true},"lock":{"allOf":[{"$ref":"#/components/schemas/cloud.StorageObjectRetentionConfiguration"}],"description":"Object lock retention configuration, if any.","nullable":true,"readOnly":true},"restoreStatus":{"allOf":[{"$ref":"#/components/schemas/cloud.StorageObjectRestoreStatus"}],"description":"Specifies the restoration status of an object, if any. Objects in certain storage classes must be restored before they can be retrieved.","nullable":true,"readOnly":true},"size":{"type":"integer","description":"Size in bytes of the object.","readOnly":true},"storageClass":{"allOf":[{"$ref":"#/components/schemas/cloud.storage.StorageClassEnum"}],"description":"The storage class used to store the object.","nullable":true,"readOnly":true},"versionId":{"type":"string","description":"The version ID of the object.","readOnly":true}}},"cloud.StorageReplicationObject":{"type":"object","description":"Object Storage replication configuration.","properties":{"rules":{"type":"array","description":"Replication rules.","nullable":true,"items":{"$ref":"#/components/schemas/cloud.storage.ReplicationRule"},"readOnly":true}}},"cloud.StorageReplicationObjectIn":{"type":"object","description":"Object Storage replication configuration.","properties":{"rules":{"type":"array","description":"Replication rules.","nullable":true,"items":{"$ref":"#/components/schemas/cloud.storage.ReplicationRuleIn"}}}},"cloud.StorageReplicationRuleDestination":{"type":"object","description":"Object Storage replication configuration rule destination.","properties":{"name":{"type":"string","description":"Destination bucket name.","readOnly":true},"region":{"type":"string","description":"Destination region, can be null if destination bucket has been deleted.","nullable":true,"readOnly":true},"storageClass":{"allOf":[{"$ref":"#/components/schemas/cloud.storage.StorageClassReplicationEnum"}],"description":"Destination storage class.","nullable":true,"readOnly":true}}},"cloud.StorageReplicationRuleDestinationIn":{"type":"object","description":"Object Storage replication configuration rule destination.","properties":{"name":{"type":"string","description":"Destination bucket name."},"region":{"type":"string","description":"Destination region."},"storageClass":{"allOf":[{"$ref":"#/components/schemas/cloud.storage.StorageClassReplicationEnum"}],"description":"Destination storage class.","nullable":true}},"required":["region"]},"cloud.StorageReplicationRuleFilter":{"type":"object","description":"Object Storage replication configuration rule filter.","properties":{"prefix":{"type":"string","description":"Prefix filter.","nullable":true},"tags":{"type":"object","description":"Tags filter.","nullable":true,"additionalProperties":{"type":"string"}}}},"cloud.StorageRestoreObjectIn":{"type":"object","description":"Restore object input.","properties":{"days":{"type":"integer","description":"The number of days the restored object will be available."}},"required":["days"]},"cloud.StorageVersioningObject":{"type":"object","description":"Versioning configuration.","properties":{"status":{"allOf":[{"$ref":"#/components/schemas/cloud.storage.VersioningStatusEnum"}],"description":"Versioning status.","nullable":true}}},"cloud.SubOperation":{"type":"object","description":"A sub-operation is a child of an operation on your Project","properties":{"action":{"type":"string","description":"The action of the sub-operation","readOnly":true},"completedAt":{"type":"string","description":"The completed date of the sub-operation","nullable":true,"format":"date-time","readOnly":true},"id":{"type":"string","description":"Unique ID to describe the sub-operation","readOnly":true},"progress":{"type":"integer","description":"The progression in percentage of the sub-operation","readOnly":true},"regions":{"type":"array","description":"Affected regions of the sub-operation","nullable":true,"items":{"type":"string"},"readOnly":true},"resourceId":{"type":"string","description":"Affected resource of the sub-operation","nullable":true,"readOnly":true},"startedAt":{"type":"string","description":"The started date of the sub-operation","nullable":true,"format":"date-time","readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.OperationStatusEnum"}],"description":"Sub-operation status","readOnly":true}}},"cloud.Vrack":{"type":"object","description":"A vRack allows to connect your OVH infrastructures accross products and datacenters","properties":{"description":{"type":"string","description":"Description of your vRack","readOnly":true},"id":{"type":"string","description":"Vrack ID","readOnly":true},"name":{"type":"string","description":"Name of your vRack","readOnly":true}}},"cloud.aggregated.InstanceActionGroupEnum":{"type":"string","description":"group of the action","enum":["boot","delete","details","lifecycle","shelve"]},"cloud.alerting.Alert":{"type":"object","description":"Sent Alert to client","properties":{"alertDate":{"type":"string","description":"Send date","format":"date-time","readOnly":true},"alertId":{"type":"integer","description":"Alert ID","readOnly":true},"emails":{"type":"array","description":"Receivers of the alert","nullable":true,"items":{"type":"string"},"readOnly":true}}},"cloud.alerting.Alerting":{"type":"object","description":"Billing Alert Configuration","properties":{"creationDate":{"type":"string","description":"Creation date","format":"date-time","readOnly":true},"delay":{"type":"integer","description":"Delay of the alert in seconds"},"email":{"type":"string","description":"Email. DEPRECATED: use emails"},"emails":{"type":"array","description":"Receiver of the alert","items":{"type":"string"}},"formattedMonthlyThreshold":{"allOf":[{"$ref":"#/components/schemas/order.Price"}],"description":"formatted monthly threshold","readOnly":true},"id":{"type":"string","description":"ID of the alert","format":"uuid","readOnly":true},"monthlyThreshold":{"type":"integer","description":"Monthly threshold"},"name":{"type":"string","description":"Name of the alert"},"service":{"allOf":[{"$ref":"#/components/schemas/cloud.alerting.ServiceEnum"}],"description":"Service of the alert"},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.alerting.StatusEnum"}],"description":"Status of the alert","readOnly":true}},"required":["delay","monthlyThreshold"]},"cloud.alerting.AlertingUpdate":{"type":"object","description":"Billing Alert Configuration Update","properties":{"delay":{"type":"integer","description":"Delay of the alert in seconds"},"email":{"type":"string","description":"Email. DEPRECATED: use emails"},"emails":{"type":"array","description":"Receiver of the alert","items":{"type":"string"}},"monthlyThreshold":{"type":"integer","description":"Monthly threshold"},"name":{"type":"string","description":"Name of the alert"},"service":{"allOf":[{"$ref":"#/components/schemas/cloud.alerting.ServiceEnum"}],"description":"Service of the alert"},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.alerting.StatusEnum"}],"description":"Status of the alert"}}},"cloud.alerting.ServiceEnum":{"type":"string","description":"available services to watch","enum":["ai_endpoint","all","block_storage","data_platform","instances","instances_gpu","instances_without_gpu","objet_storage","rancher","snapshot"]},"cloud.alerting.StatusEnum":{"type":"string","description":"alert status","enum":["deleted","disabled","ok"]},"cloud.authentication.Catalog":{"type":"object","description":"Catalog","properties":{"endpoints":{"type":"array","items":{"$ref":"#/components/schemas/cloud.authentication.Endpoint"},"readOnly":true},"id":{"type":"string","readOnly":true},"type":{"type":"string","readOnly":true}}},"cloud.authentication.Domain":{"type":"object","description":"Domain","properties":{"name":{"type":"string","readOnly":true}}},"cloud.authentication.Endpoint":{"type":"object","description":"Endpoint","properties":{"id":{"type":"string","readOnly":true},"interface":{"type":"string","readOnly":true},"legacy_endpoint_id":{"type":"string","readOnly":true},"region_id":{"type":"string","readOnly":true},"service_id":{"type":"string","readOnly":true},"url":{"type":"string","readOnly":true}}},"cloud.authentication.OpenstackToken":{"type":"object","description":"OpenstackToken","properties":{"catalog":{"type":"array","items":{"$ref":"#/components/schemas/cloud.authentication.Catalog"},"readOnly":true},"expires_at":{"type":"string","format":"date-time","readOnly":true},"issued_at":{"type":"string","format":"date-time","readOnly":true},"methods":{"type":"array","items":{"type":"string"},"readOnly":true},"project":{"allOf":[{"$ref":"#/components/schemas/cloud.authentication.TokenProject"}],"readOnly":true},"roles":{"type":"array","items":{"$ref":"#/components/schemas/cloud.authentication.Role"},"readOnly":true},"user":{"allOf":[{"$ref":"#/components/schemas/cloud.authentication.UserToken"}],"readOnly":true}}},"cloud.authentication.Role":{"type":"object","description":"Role","properties":{"id":{"type":"string","readOnly":true},"name":{"type":"string","readOnly":true}}},"cloud.authentication.Token":{"type":"object","description":"Token","properties":{"X-Auth-Token":{"type":"string","readOnly":true},"token":{"allOf":[{"$ref":"#/components/schemas/cloud.authentication.OpenstackToken"}],"readOnly":true}}},"cloud.authentication.TokenProject":{"type":"object","description":"TokenProject","properties":{"domain":{"allOf":[{"$ref":"#/components/schemas/cloud.authentication.Domain"}],"readOnly":true},"id":{"type":"string","readOnly":true},"name":{"type":"string","readOnly":true}}},"cloud.authentication.UserToken":{"type":"object","description":"UserToken","properties":{"domain":{"allOf":[{"$ref":"#/components/schemas/cloud.authentication.Domain"}],"readOnly":true},"id":{"type":"string","readOnly":true},"name":{"type":"string","readOnly":true}}},"cloud.billingView.BandwidthInstance":{"type":"object","description":"BandwidthInstance","properties":{"quantity":{"allOf":[{"$ref":"#/components/schemas/cloud.billingView.Quantity"}],"description":"Total bandwidth in GiB","readOnly":true},"totalPrice":{"type":"number","description":"Total price","readOnly":true}}},"cloud.billingView.BandwidthStorage":{"type":"object","description":"BandwidthStorage","properties":{"quantity":{"allOf":[{"$ref":"#/components/schemas/cloud.billingView.Quantity"}],"description":"Total bandwidth in GiB","readOnly":true},"resourceIds":{"type":"array","description":"List of resource IDs","items":{"type":"string"},"readOnly":true},"totalPrice":{"type":"number","description":"Total price","readOnly":true}}},"cloud.billingView.Component":{"type":"object","description":"Component","properties":{"id":{"type":"string","description":"Component ID","readOnly":true},"name":{"type":"string","description":"Name of the component","readOnly":true},"quantity":{"allOf":[{"$ref":"#/components/schemas/cloud.billingView.Quantity"}],"description":"Total quantity for the component","readOnly":true},"resourceId":{"type":"string","description":"Resource ID","readOnly":true},"totalPrice":{"type":"number","description":"Total price for this component","readOnly":true}}},"cloud.billingView.HourlyDetail":{"type":"object","description":"HourlyDetail","properties":{"id":{"type":"string","description":"ID","readOnly":true},"quantity":{"allOf":[{"$ref":"#/components/schemas/cloud.billingView.Quantity"}],"description":"Quantity","readOnly":true},"resourceId":{"type":"string","description":"Resource ID","readOnly":true},"totalPrice":{"allOf":[{"$ref":"#/components/schemas/order.Price"}],"description":"Total price","readOnly":true}}},"cloud.billingView.HourlyInstance":{"type":"object","description":"HourlyInstance","properties":{"deploymentMode":{"allOf":[{"$ref":"#/components/schemas/common.RegionTypeEnum"}],"description":"Specifies the deployment mode of the region where the resource is deployed (for example, 1-AZ or 3-AZ). Products that are grouped by project or have no region do not include a deployment mode","nullable":true,"readOnly":true},"details":{"type":"array","description":"Details about hourly instances","items":{"$ref":"#/components/schemas/cloud.billingView.HourlyInstanceDetail"},"readOnly":true},"quantity":{"allOf":[{"$ref":"#/components/schemas/cloud.billingView.Quantity"}],"description":"Hours of run instances","readOnly":true},"reference":{"type":"string","description":"Instance reference","readOnly":true},"region":{"type":"string","description":"Instance region","readOnly":true},"savingsPlanIds":{"type":"array","description":"Savings Plan IDs","nullable":true,"items":{"type":"string"},"readOnly":true},"totalPrice":{"type":"number","description":"Total price","readOnly":true}}},"cloud.billingView.HourlyInstanceBandwidth":{"type":"object","description":"HourlyInstanceBandwidth","properties":{"deploymentMode":{"allOf":[{"$ref":"#/components/schemas/common.RegionTypeEnum"}],"description":"Specifies the deployment mode of the region where the resource is deployed (for example, 1-AZ or 3-AZ). Products that are grouped by project or have no region do not include a deployment mode","nullable":true,"readOnly":true},"incomingBandwidth":{"allOf":[{"$ref":"#/components/schemas/cloud.billingView.BandwidthInstance"}],"description":"Instance incoming bandwidth details","nullable":true,"readOnly":true},"outgoingBandwidth":{"allOf":[{"$ref":"#/components/schemas/cloud.billingView.BandwidthInstance"}],"description":"Instance outgoing bandwidth details","nullable":true,"readOnly":true},"region":{"type":"string","description":"Region","readOnly":true},"totalPrice":{"type":"number","description":"Total price","readOnly":true}}},"cloud.billingView.HourlyInstanceDetail":{"type":"object","description":"HourlyInstanceDetail","properties":{"instanceId":{"type":"string","description":"Instance ID","readOnly":true},"quantity":{"allOf":[{"$ref":"#/components/schemas/cloud.billingView.Quantity"}],"description":"Hours of run instances","readOnly":true},"resourceId":{"type":"string","description":"Resource ID","readOnly":true},"totalPrice":{"type":"number","description":"Total price","readOnly":true}}},"cloud.billingView.HourlyInstanceOption":{"type":"object","description":"HourlyInstanceOption","properties":{"deploymentMode":{"allOf":[{"$ref":"#/components/schemas/common.RegionTypeEnum"}],"description":"Specifies the deployment mode of the region where the resource is deployed (for example, 1-AZ or 3-AZ). Products that are grouped by project or have no region do not include a deployment mode","nullable":true,"readOnly":true},"details":{"type":"array","description":"Details about hourly instances option","items":{"$ref":"#/components/schemas/cloud.billingView.HourlyInstanceOptionDetail"},"readOnly":true},"quantity":{"allOf":[{"$ref":"#/components/schemas/cloud.billingView.Quantity"}],"description":"Quantity of instance hours running with this option","readOnly":true},"reference":{"type":"string","description":"Instance reference","readOnly":true},"region":{"type":"string","description":"Instance region","readOnly":true},"totalPrice":{"type":"number","description":"Total price","readOnly":true}}},"cloud.billingView.HourlyInstanceOptionDetail":{"type":"object","description":"HourlyInstanceOptionDetail","properties":{"instanceId":{"type":"string","description":"Instance ID","readOnly":true},"quantity":{"allOf":[{"$ref":"#/components/schemas/cloud.billingView.Quantity"}],"description":"Quantity of instance hours running with this option","readOnly":true},"totalPrice":{"type":"number","description":"Total price","readOnly":true}}},"cloud.billingView.HourlyManagedKubernetesService":{"type":"object","description":"HourlyManagedKubernetesService","properties":{"deploymentMode":{"allOf":[{"$ref":"#/components/schemas/common.RegionTypeEnum"}],"description":"Specifies the deployment mode of the region where the resource is deployed (for example, 1-AZ or 3-AZ). Products that are grouped by project or have no region do not include a deployment mode","nullable":true,"readOnly":true},"details":{"type":"array","description":"Details about managed kubernetes services","nullable":true,"items":{"$ref":"#/components/schemas/cloud.billingView.HourlyDetail"},"readOnly":true},"quantity":{"allOf":[{"$ref":"#/components/schemas/cloud.billingView.Quantity"}],"description":"Total hours of usage","readOnly":true},"reference":{"type":"string","description":"Reference","nullable":true,"readOnly":true},"region":{"type":"string","description":"Region","nullable":true,"readOnly":true},"totalPrice":{"allOf":[{"$ref":"#/components/schemas/order.Price"}],"description":"Total price","readOnly":true}}},"cloud.billingView.HourlyQuantum":{"type":"object","description":"HourlyQuantum","properties":{"notebook":{"type":"array","description":"Details about hourly quantum notebooks","items":{"$ref":"#/components/schemas/cloud.billingView.HourlyQuantumNotebook"},"readOnly":true},"processingUnit":{"type":"array","description":"Details about hourly quantum processing unit","items":{"$ref":"#/components/schemas/cloud.billingView.HourlyQuantumProcessingUnit"},"readOnly":true}}},"cloud.billingView.HourlyQuantumNotebook":{"type":"object","description":"HourlyQuantumNotebook","properties":{"deploymentMode":{"allOf":[{"$ref":"#/components/schemas/common.RegionTypeEnum"}],"description":"Specifies the deployment mode of the region where the resource is deployed (for example, 1-AZ or 3-AZ). Products that are grouped by project or have no region do not include a deployment mode","nullable":true,"readOnly":true},"details":{"type":"array","description":"Details about quantums","items":{"$ref":"#/components/schemas/cloud.billingView.HourlyDetail"},"readOnly":true},"quantity":{"allOf":[{"$ref":"#/components/schemas/cloud.billingView.Quantity"}],"description":"Quantum quantity","readOnly":true},"reference":{"type":"string","description":"Quantum reference","readOnly":true},"region":{"type":"string","description":"Quantum region","readOnly":true},"totalPrice":{"allOf":[{"$ref":"#/components/schemas/order.Price"}],"description":"Total price","readOnly":true}}},"cloud.billingView.HourlyQuantumProcessingUnit":{"type":"object","description":"HourlyQuantumProcessingUnit","properties":{"deploymentMode":{"allOf":[{"$ref":"#/components/schemas/common.RegionTypeEnum"}],"description":"Specifies the deployment mode of the region where the resource is deployed (for example, 1-AZ or 3-AZ). Products that are grouped by project or have no region do not include a deployment mode","nullable":true,"readOnly":true},"details":{"type":"array","description":"Details about quantums","items":{"$ref":"#/components/schemas/cloud.billingView.HourlyDetail"},"readOnly":true},"quantity":{"allOf":[{"$ref":"#/components/schemas/cloud.billingView.Quantity"}],"description":"Quantum quantity","readOnly":true},"reference":{"type":"string","description":"Quantum reference","readOnly":true},"region":{"type":"string","description":"Quantum region","readOnly":true},"totalPrice":{"allOf":[{"$ref":"#/components/schemas/order.Price"}],"description":"Total price","readOnly":true}}},"cloud.billingView.HourlyRancher":{"type":"object","description":"HourlyRancher","properties":{"deploymentMode":{"allOf":[{"$ref":"#/components/schemas/common.RegionTypeEnum"}],"description":"Specifies the deployment mode of the region where the resource is deployed (for example, 1-AZ or 3-AZ). Products that are grouped by project or have no region do not include a deployment mode","nullable":true,"readOnly":true},"details":{"type":"array","description":"Details about hourly Rancher","items":{"$ref":"#/components/schemas/cloud.billingView.HourlyRancherDetail"},"readOnly":true},"quantity":{"allOf":[{"$ref":"#/components/schemas/cloud.billingView.Quantity"}],"description":"Hours of Rancher","readOnly":true},"reference":{"type":"string","description":"Instance reference","readOnly":true},"region":{"type":"string","description":"Instance region","readOnly":true},"savingsPlanIds":{"type":"array","description":"Savings Plan IDs","nullable":true,"items":{"type":"string"},"readOnly":true},"totalPrice":{"allOf":[{"$ref":"#/components/schemas/order.Price"}],"description":"Total price","readOnly":true}}},"cloud.billingView.HourlyRancherDetail":{"type":"object","description":"HourlyRancherDetail","properties":{"quantity":{"allOf":[{"$ref":"#/components/schemas/cloud.billingView.Quantity"}],"description":"Hours of Rancher","readOnly":true},"rancherId":{"type":"string","description":"Rancher ID","readOnly":true},"resourceId":{"type":"string","description":"Resource ID","readOnly":true},"totalPrice":{"allOf":[{"$ref":"#/components/schemas/order.Price"}],"description":"Total price","readOnly":true}}},"cloud.billingView.HourlyResources":{"type":"object","description":"HourlyResources","properties":{"instance":{"type":"array","description":"Details about hourly instances","items":{"$ref":"#/components/schemas/cloud.billingView.HourlyInstance"},"readOnly":true},"instanceBandwidth":{"type":"array","description":"Details about instances bandwidth consumption","items":{"$ref":"#/components/schemas/cloud.billingView.HourlyInstanceBandwidth"},"readOnly":true},"instanceOption":{"type":"array","description":"Details about hourly instances options","items":{"$ref":"#/components/schemas/cloud.billingView.HourlyInstanceOption"},"readOnly":true},"managedKubernetesService":{"type":"array","description":"Details about managed kubernetes services","items":{"$ref":"#/components/schemas/cloud.billingView.HourlyManagedKubernetesService"},"readOnly":true},"quantum":{"allOf":[{"$ref":"#/components/schemas/cloud.billingView.HourlyQuantum"}],"description":"Details about hourly quantums","readOnly":true},"rancher":{"type":"array","description":"Details about hourly Rancher","items":{"$ref":"#/components/schemas/cloud.billingView.HourlyRancher"},"readOnly":true},"snapshot":{"type":"array","description":"Details about hourly snapshots","items":{"$ref":"#/components/schemas/cloud.billingView.HourlySnapshot"},"readOnly":true},"storage":{"type":"array","description":"Details about hourly storage","items":{"$ref":"#/components/schemas/cloud.billingView.HourlyStorage"},"readOnly":true},"volume":{"type":"array","description":"Details about hourly volumes","items":{"$ref":"#/components/schemas/cloud.billingView.HourlyVolume"},"readOnly":true}}},"cloud.billingView.HourlySnapshot":{"type":"object","description":"HourlySnapshot","properties":{"deploymentMode":{"allOf":[{"$ref":"#/components/schemas/common.RegionTypeEnum"}],"description":"Specifies the deployment mode of the region where the resource is deployed (for example, 1-AZ or 3-AZ). Products that are grouped by project or have no region do not include a deployment mode","nullable":true,"readOnly":true},"instance":{"allOf":[{"$ref":"#/components/schemas/cloud.billingView.InstanceSnapshot"}],"description":"Instance snapshot details","nullable":true,"readOnly":true},"region":{"type":"string","description":"Region","readOnly":true},"totalPrice":{"type":"number","description":"Total price","readOnly":true},"volume":{"allOf":[{"$ref":"#/components/schemas/cloud.billingView.VolumeSnapshot"}],"description":"Volume snapshot details","nullable":true,"readOnly":true}}},"cloud.billingView.HourlyStorage":{"type":"object","description":"HourlyStorage","properties":{"bucketName":{"type":"string","description":"Bucket Name","nullable":true,"readOnly":true},"deploymentMode":{"allOf":[{"$ref":"#/components/schemas/common.RegionTypeEnum"}],"description":"Specifies the deployment mode of the region where the resource is deployed (for example, 1-AZ or 3-AZ). Products that are grouped by project or have no region do not include a deployment mode","nullable":true,"readOnly":true},"incomingBandwidth":{"allOf":[{"$ref":"#/components/schemas/cloud.billingView.BandwidthStorage"}],"description":"Storage incoming bandwidth details","nullable":true,"readOnly":true},"incomingInternalBandwidth":{"allOf":[{"$ref":"#/components/schemas/cloud.billingView.BandwidthStorage"}],"description":"Storage incoming internal bandwidth details","nullable":true,"readOnly":true},"outgoingBandwidth":{"allOf":[{"$ref":"#/components/schemas/cloud.billingView.BandwidthStorage"}],"description":"Storage outgoing bandwidth details","nullable":true,"readOnly":true},"outgoingInternalBandwidth":{"allOf":[{"$ref":"#/components/schemas/cloud.billingView.BandwidthStorage"}],"description":"Storage outgoing internal bandwidth details","nullable":true,"readOnly":true},"region":{"type":"string","description":"Region","readOnly":true},"retrievalFees":{"allOf":[{"$ref":"#/components/schemas/cloud.billingView.RetrievalFees"}],"description":"Storage retrieval fee details","nullable":true,"readOnly":true},"stored":{"allOf":[{"$ref":"#/components/schemas/cloud.billingView.StoredStorage"}],"description":"Information about stored data","nullable":true,"readOnly":true},"totalPrice":{"type":"number","description":"Total price","readOnly":true},"type":{"allOf":[{"$ref":"#/components/schemas/cloud.billingView.StorageTypeEnum"}],"description":"Storage type","readOnly":true}}},"cloud.billingView.HourlyVolume":{"type":"object","description":"HourlyVolume","properties":{"deploymentMode":{"allOf":[{"$ref":"#/components/schemas/common.RegionTypeEnum"}],"description":"Specifies the deployment mode of the region where the resource is deployed (for example, 1-AZ or 3-AZ). Products that are grouped by project or have no region do not include a deployment mode","nullable":true,"readOnly":true},"details":{"type":"array","description":"Detail about volume consumption","items":{"$ref":"#/components/schemas/cloud.billingView.HourlyVolumeDetail"},"readOnly":true},"quantity":{"allOf":[{"$ref":"#/components/schemas/cloud.billingView.Quantity"}],"description":"Total GiBh of volume","readOnly":true},"region":{"type":"string","description":"Region","readOnly":true},"totalPrice":{"type":"number","description":"Total price","readOnly":true},"type":{"type":"string","description":"Volume type","readOnly":true}}},"cloud.billingView.HourlyVolumeDetail":{"type":"object","description":"HourlyVolumeDetail","properties":{"quantity":{"allOf":[{"$ref":"#/components/schemas/cloud.billingView.Quantity"}],"description":"GiBh of volume","readOnly":true},"resourceId":{"type":"string","description":"Resource ID","readOnly":true},"totalPrice":{"type":"number","description":"Total price","readOnly":true},"volumeId":{"type":"string","description":"Volume ID","readOnly":true}}},"cloud.billingView.InstanceSnapshot":{"type":"object","description":"InstanceSnapshot","properties":{"quantity":{"allOf":[{"$ref":"#/components/schemas/cloud.billingView.Quantity"}],"description":"GiBh stored","readOnly":true},"totalPrice":{"type":"number","description":"Total price","readOnly":true}}},"cloud.billingView.MonthlyCertification":{"type":"object","description":"MonthlyCertification","properties":{"details":{"type":"array","description":"Details about certifications","items":{"$ref":"#/components/schemas/cloud.billingView.MonthlyCertificationDetail"},"readOnly":true},"reference":{"type":"string","description":"Certification reference","readOnly":true},"totalPrice":{"type":"number","description":"Total price","readOnly":true}}},"cloud.billingView.MonthlyCertificationDetail":{"type":"object","description":"MonthlyCertificationDetail","properties":{"activation":{"type":"string","description":"Certification activation","format":"date-time","readOnly":true},"totalPrice":{"type":"number","description":"Total price","readOnly":true}}},"cloud.billingView.MonthlyInstance":{"type":"object","description":"MonthlyInstance","properties":{"deploymentMode":{"allOf":[{"$ref":"#/components/schemas/common.RegionTypeEnum"}],"description":"Specifies the deployment mode of the region where the resource is deployed (for example, 1-AZ or 3-AZ). Products that are grouped by project or have no region do not include a deployment mode","nullable":true,"readOnly":true},"details":{"type":"array","description":"Details about monthly instances","items":{"$ref":"#/components/schemas/cloud.billingView.MonthlyInstanceDetail"},"readOnly":true},"reference":{"type":"string","description":"Instance reference","readOnly":true},"region":{"type":"string","description":"Instance region","readOnly":true},"totalPrice":{"type":"number","description":"Total price","readOnly":true}}},"cloud.billingView.MonthlyInstanceDetail":{"type":"object","description":"MonthlyInstanceDetail","properties":{"activation":{"type":"string","description":"Monthly instance activation","format":"date-time","readOnly":true},"instanceId":{"type":"string","description":"Instance ID","readOnly":true},"resourceId":{"type":"string","description":"Resource ID","readOnly":true},"totalPrice":{"type":"number","description":"Total price","readOnly":true}}},"cloud.billingView.MonthlyInstanceOption":{"type":"object","description":"MonthlyInstanceOption","properties":{"deploymentMode":{"allOf":[{"$ref":"#/components/schemas/common.RegionTypeEnum"}],"description":"Specifies the deployment mode of the region where the resource is deployed (for example, 1-AZ or 3-AZ). Products that are grouped by project or have no region do not include a deployment mode","nullable":true,"readOnly":true},"details":{"type":"array","description":"Details about monthly instances","items":{"$ref":"#/components/schemas/cloud.billingView.MonthlyInstanceOptionDetail"},"readOnly":true},"reference":{"type":"string","description":"Instance reference","readOnly":true},"region":{"type":"string","description":"Instance region","readOnly":true},"totalPrice":{"type":"number","description":"Total price","readOnly":true}}},"cloud.billingView.MonthlyInstanceOptionDetail":{"type":"object","description":"MonthlyInstanceOptionDetail","properties":{"instanceId":{"type":"string","description":"Instance ID","readOnly":true},"totalPrice":{"type":"number","description":"Total price","readOnly":true}}},"cloud.billingView.MonthlyResources":{"type":"object","description":"MonthlyResources","properties":{"certification":{"type":"array","description":"Details about certifications","items":{"$ref":"#/components/schemas/cloud.billingView.MonthlyCertification"},"readOnly":true},"instance":{"type":"array","description":"Details about monthly instances","items":{"$ref":"#/components/schemas/cloud.billingView.MonthlyInstance"},"readOnly":true},"instanceOption":{"type":"array","description":"Details about monthly instances options","items":{"$ref":"#/components/schemas/cloud.billingView.MonthlyInstanceOption"},"readOnly":true},"savingsPlan":{"type":"array","description":"Details about savings plan subscriptions","items":{"$ref":"#/components/schemas/cloud.billingView.MonthlySavingsPlan"},"readOnly":true}}},"cloud.billingView.MonthlySavingsPlan":{"type":"object","description":"MonthlySavingsPlan","properties":{"details":{"type":"array","description":"Detailed listing of all flat fees","items":{"$ref":"#/components/schemas/cloud.plan.Detail"},"readOnly":true},"flavor":{"type":"string","description":"Flavor of the savings plan","readOnly":true},"totalPrice":{"allOf":[{"$ref":"#/components/schemas/order.Price"}],"description":"Total price of the flat fee part of associated savings plans","readOnly":true}}},"cloud.billingView.Quantity":{"type":"object","description":"Quantity","properties":{"unit":{"allOf":[{"$ref":"#/components/schemas/cloud.billingView.UnitQuantityEnum"}],"description":"Quantity unit","readOnly":true},"value":{"type":"number","description":"Quantity value","readOnly":true}}},"cloud.billingView.RegionalizedResource":{"type":"object","description":"RegionalizedResource","properties":{"components":{"type":"array","description":"List of components","items":{"$ref":"#/components/schemas/cloud.billingView.Component"},"readOnly":true},"deploymentMode":{"allOf":[{"$ref":"#/components/schemas/common.RegionTypeEnum"}],"description":"Specifies the deployment mode of the region where the resource is deployed (for example, 1-AZ or 3-AZ). Products that are grouped by project or have no region do not include a deployment mode","nullable":true,"readOnly":true},"region":{"type":"string","description":"Region of the resource","readOnly":true}}},"cloud.billingView.RetrievalFees":{"type":"object","description":"RetrievalFees","properties":{"quantity":{"allOf":[{"$ref":"#/components/schemas/cloud.billingView.Quantity"}],"description":"Total retrieval fees in GiB","readOnly":true},"resourceIds":{"type":"array","description":"List of resource IDs","items":{"type":"string"},"readOnly":true},"totalPrice":{"allOf":[{"$ref":"#/components/schemas/order.Price"}],"description":"Total price","readOnly":true}}},"cloud.billingView.StorageTypeEnum":{"type":"string","description":"StorageTypeEnum","enum":["pca","pcs","storage-coldarchive","storage-glacier-ir","storage-high-perf","storage-standard","storage-standard-ia"]},"cloud.billingView.StoredStorage":{"type":"object","description":"StoredStorage","properties":{"quantity":{"allOf":[{"$ref":"#/components/schemas/cloud.billingView.Quantity"}],"description":"GiBh stored","readOnly":true},"resourceIds":{"type":"array","description":"List of resource IDs","items":{"type":"string"},"readOnly":true},"totalPrice":{"type":"number","description":"Total price","readOnly":true}}},"cloud.billingView.TypedResources":{"type":"object","description":"TypedResources","properties":{"resources":{"type":"array","description":"Resources per region","items":{"$ref":"#/components/schemas/cloud.billingView.RegionalizedResource"},"readOnly":true},"totalPrice":{"type":"number","description":"Total price","readOnly":true},"type":{"type":"string","description":"Type of the resources","readOnly":true}}},"cloud.billingView.UnitQuantityEnum":{"type":"string","description":"UnitQuantity","enum":["GiB","GiBh","Hour","Minute","Second","Unit"]},"cloud.billingView.UsedCredit":{"type":"object","description":"UsedCredit","properties":{"description":{"type":"string","description":"Credit description","readOnly":true},"id":{"type":"integer","description":"Credit ID","readOnly":true},"usedAmount":{"type":"number","description":"Total credit used","readOnly":true}}},"cloud.billingView.UsedCredits":{"type":"object","description":"UsedCredits","properties":{"details":{"type":"array","description":"Details about credits that will be used","items":{"$ref":"#/components/schemas/cloud.billingView.UsedCredit"},"readOnly":true},"totalCredit":{"type":"number","description":"Total credit that will be used to pay the bill","readOnly":true}}},"cloud.billingView.VolumeSnapshot":{"type":"object","description":"VolumeSnapshot","properties":{"quantity":{"allOf":[{"$ref":"#/components/schemas/cloud.billingView.Quantity"}],"description":"GiBh stored","readOnly":true},"totalPrice":{"type":"number","description":"Total price","readOnly":true}}},"cloud.capabilities.Availability":{"type":"object","description":"Public Cloud products availability","properties":{"plans":{"type":"array","description":"Plan availability","items":{"$ref":"#/components/schemas/cloud.capabilities.AvailabilityPlan"},"readOnly":true},"products":{"type":"array","description":"Product availability","items":{"$ref":"#/components/schemas/cloud.capabilities.AvailabilityProduct"},"readOnly":true}}},"cloud.capabilities.AvailabilityPlan":{"type":"object","description":"Public Cloud plan availability","properties":{"code":{"type":"string","description":"Plan code","readOnly":true},"regions":{"type":"array","description":"Plan is available on those regions","items":{"$ref":"#/components/schemas/cloud.capabilities.AvailabilityRegion"},"readOnly":true}}},"cloud.capabilities.AvailabilityProduct":{"type":"object","description":"Public Cloud product availability","properties":{"name":{"type":"string","description":"Product name","readOnly":true},"regions":{"type":"array","description":"Product is available on those regions","items":{"$ref":"#/components/schemas/cloud.capabilities.AvailabilityRegion"},"readOnly":true}}},"cloud.capabilities.AvailabilityRegion":{"type":"object","description":"Details about a region","properties":{"availabilityZones":{"type":"array","description":"Availability zones of the region","items":{"type":"string"},"readOnly":true},"continentCode":{"allOf":[{"$ref":"#/components/schemas/cloud.RegionContinentEnum"}],"description":"Region continent code","readOnly":true},"countryCode":{"allOf":[{"$ref":"#/components/schemas/countryCode2LettersEnum"}],"description":"Region country code","readOnly":true},"datacenter":{"type":"string","description":"Location of the datacenter where the region is","readOnly":true},"enabled":{"type":"boolean","description":"Region is enabled","readOnly":true},"name":{"type":"string","description":"Region name","readOnly":true},"type":{"allOf":[{"$ref":"#/components/schemas/cloud.RegionTypeEnum"}],"description":"Region type","readOnly":true}}},"cloud.common.VoucherValidity":{"type":"object","description":"Voucher validity range","properties":{"from":{"type":"string","description":"Valid from","nullable":true,"format":"date-time"},"to":{"type":"string","description":"Valid to","nullable":true,"format":"date-time"}}},"cloud.containerRegistry.Capability":{"type":"object","description":"The container registry capability for a single region","properties":{"plans":{"type":"array","description":"Available plans in the region","items":{"$ref":"#/components/schemas/cloud.containerRegistry.Plan"},"readOnly":true},"regionName":{"type":"string","description":"The region name","readOnly":true},"regionType":{"allOf":[{"$ref":"#/components/schemas/common.RegionTypeEnum"}],"description":"The type of region (\"REGION-1-AZ\" or \"REGION-3-AZ\")","readOnly":true}}},"cloud.containerRegistry.Features":{"type":"object","description":"Features list, enabled or not","properties":{"vulnerability":{"type":"boolean","description":"Vulnerability scanning","readOnly":true}}},"cloud.containerRegistry.IPRestrictions":{"type":"object","description":"Container registry Get IP Restrictions","properties":{"createdAt":{"type":"string","description":"IP Restrictions creation date","format":"date-time","readOnly":true},"description":{"type":"string","description":"The Description of Whitelisted IpBlock"},"ipBlock":{"allOf":[{"$ref":"#/components/schemas/ipBlock"}],"description":"Whitelisted IpBlock"},"updatedAt":{"type":"string","description":"IP Restrictions update date","format":"date-time","readOnly":true}}},"cloud.containerRegistry.Limits":{"type":"object","description":"Limitation of a docker registry","properties":{"imageStorage":{"type":"integer","description":"Docker image storage limits in bytes","readOnly":true},"parallelRequest":{"type":"integer","description":"Parallel requests on Docker image API (/v2 Docker registry API)","readOnly":true}}},"cloud.containerRegistry.OIDCConfiguration":{"type":"object","description":"Docker registry OIDC Configuration","properties":{"adminGroup":{"type":"string","description":"The OIDC Configuration AdminGroup","nullable":true},"autoOnboard":{"type":"boolean","description":"The OIDC Configuration AutoOnboard","nullable":true},"clientId":{"type":"string","description":"The OIDC Configuration ClientID"},"clientSecret":{"type":"string","description":"The OIDC Configuration Client Secret","nullable":true,"format":"password"},"createdAt":{"type":"string","description":"The OIDC Configuration creation date","format":"date-time","readOnly":true},"endpoint":{"type":"string","description":"The OIDC Configuration Endpoint"},"groupFilter":{"type":"string","description":"The OIDC Configuration GroupFilter","nullable":true},"groupsClaim":{"type":"string","description":"The OIDC Configuration GroupsClaim","nullable":true},"id":{"type":"string","description":"The OIDC Configuration ID","readOnly":true},"name":{"type":"string","description":"The OIDC Configuration Name"},"scope":{"type":"string","description":"The OIDC Configuration comma-separated list of Scopes"},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.containerRegistry.OIDCStatusEnum"}],"description":"The OIDC Configuration status","readOnly":true},"updatedAt":{"type":"string","description":"The OIDC Configuration last update date","nullable":true,"format":"date-time","readOnly":true},"userClaim":{"type":"string","description":"The OIDC Configuration UserClaim","nullable":true},"verifyCert":{"type":"boolean","description":"The OIDC Configuration VerifyCert","nullable":true}},"required":["clientId","clientSecret","endpoint","name","scope"]},"cloud.containerRegistry.OIDCPost":{"type":"object","description":"Docker registry Post OIDC configuration","properties":{"deleteUsers":{"type":"boolean","description":"Delete all previously created users to allow OIDC configuration","nullable":true},"provider":{"allOf":[{"$ref":"#/components/schemas/cloud.containerRegistry.OIDCConfiguration"}],"description":"The OIDC provider configuration"}},"required":["provider"]},"cloud.containerRegistry.OIDCPut":{"type":"object","description":"Docker registry Put OIDC Configuration","properties":{"adminGroup":{"type":"string","description":"The OIDC Configuration AdminGroup","nullable":true},"autoOnboard":{"type":"boolean","description":"The OIDC Configuration AutoOnboard","nullable":true},"clientId":{"type":"string","description":"The OIDC Configuration ClientID","nullable":true},"clientSecret":{"type":"string","description":"The OIDC Configuration Client Secret","nullable":true,"format":"password"},"endpoint":{"type":"string","description":"The OIDC Configuration Endpoint","nullable":true},"groupFilter":{"type":"string","description":"The OIDC Configuration GroupFilter","nullable":true},"groupsClaim":{"type":"string","description":"The OIDC Configuration GroupsClaim","nullable":true},"name":{"type":"string","description":"The OIDC Configuration Name","nullable":true},"scope":{"type":"string","description":"The OIDC Configuration comma-separated list of Scopes","nullable":true},"userClaim":{"type":"string","description":"The OIDC Configuration UserClaim","nullable":true},"verifyCert":{"type":"boolean","description":"The OIDC Configuration VerifyCert","nullable":true}}},"cloud.containerRegistry.OIDCStatusEnum":{"type":"string","description":"Status of the registry's oidc configuration","enum":["DELETING","ERROR","INSTALLING","PATCHING","READY","UPDATING"]},"cloud.containerRegistry.Plan":{"type":"object","description":"Plan of the registry","properties":{"code":{"type":"string","description":"Plan code from catalog","readOnly":true},"createdAt":{"type":"string","description":"Plan creation date","format":"date-time","readOnly":true},"features":{"allOf":[{"$ref":"#/components/schemas/cloud.containerRegistry.Features"}],"description":"Features of the plan","readOnly":true},"id":{"type":"string","description":"Plan ID","readOnly":true},"name":{"type":"string","description":"Plan name","readOnly":true},"registryLimits":{"allOf":[{"$ref":"#/components/schemas/cloud.containerRegistry.Limits"}],"description":"Container registry limits","readOnly":true},"updatedAt":{"type":"string","description":"Plan last update date","format":"date-time","readOnly":true}}},"cloud.containerRegistry.PlanUpdate":{"type":"object","description":"Missing description","properties":{"planID":{"type":"string","description":"Plan ID to apply to the registry"}},"required":["planID"]},"cloud.containerRegistry.Registry":{"type":"object","description":"Managed docker registry","properties":{"createdAt":{"type":"string","description":"Registry creation date","format":"date-time","readOnly":true},"iamEnabled":{"type":"boolean","description":"OVHcloud IAM enabled","readOnly":true},"id":{"type":"string","description":"Registry ID","readOnly":true},"name":{"type":"string","description":"Registry name","readOnly":true},"projectID":{"type":"string","description":"Project ID of your registry","readOnly":true},"region":{"type":"string","description":"Region of the registry.","readOnly":true},"size":{"type":"integer","description":"Current size of the registry (bytes)","readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.containerRegistry.StatusEnum"}],"description":"Registry status","readOnly":true},"updatedAt":{"type":"string","description":"Registry last update date","format":"date-time","readOnly":true},"url":{"type":"string","description":"Access url of the registry","readOnly":true},"version":{"type":"string","description":"Version of your registry","readOnly":true}}},"cloud.containerRegistry.StatusEnum":{"type":"string","description":"Status of the registry","enum":["DELETED","DELETING","ERROR","INSTALLING","READY","RESTORING","SUSPENDED","SUSPENDING","UPDATING"]},"cloud.containerRegistry.User":{"type":"object","description":"Docker registry user","properties":{"email":{"type":"string","description":"User email","readOnly":true},"id":{"type":"string","description":"User ID","readOnly":true},"password":{"type":"string","description":"User password","nullable":true,"format":"password","readOnly":true},"user":{"type":"string","description":"User name","readOnly":true}}},"cloud.containerRegistry.iamPost":{"type":"object","description":"Docker registry Post IAM configuration","properties":{"deleteUsers":{"type":"boolean","description":"Delete all previously created users to allow IAM activation","nullable":true}}},"cloud.flavor.Capability":{"type":"object","description":"Flavor capability","properties":{"enabled":{"type":"boolean","description":"Is the capability enabled","readOnly":true},"name":{"allOf":[{"$ref":"#/components/schemas/cloud.flavor.CapabilityNameEnum"}],"description":"Name of the capability","readOnly":true}}},"cloud.flavor.CapabilityNameEnum":{"type":"string","description":"Enum values for flavor capabilities names","enum":["failoverip","resize","snapshot","volume"]},"cloud.flavor.Flavor":{"type":"object","description":"Flavor","properties":{"available":{"type":"boolean","description":"Available in stock","readOnly":true},"capabilities":{"type":"array","description":"Capabilities of the flavor","items":{"$ref":"#/components/schemas/cloud.flavor.Capability"},"readOnly":true},"disk":{"type":"integer","description":"Number of disks","readOnly":true},"id":{"type":"string","description":"Flavor id","readOnly":true},"inboundBandwidth":{"type":"integer","description":"Max capacity of inbound traffic in Mbit/s","nullable":true,"readOnly":true},"name":{"type":"string","description":"Flavor name","readOnly":true},"osType":{"type":"string","description":"OS to install on","readOnly":true},"outboundBandwidth":{"type":"integer","description":"Max capacity of outbound traffic in Mbit/s","nullable":true,"readOnly":true},"planCodes":{"allOf":[{"$ref":"#/components/schemas/cloud.flavor.FlavorPlanCodes"}],"description":"Plan codes to order instances","readOnly":true},"quota":{"type":"integer","description":"Number instance you can spawn with your actual quota","readOnly":true},"ram":{"type":"integer","description":"Ram quantity (Gio)","readOnly":true},"region":{"type":"string","description":"Flavor region","readOnly":true},"type":{"type":"string","description":"Flavor type","readOnly":true},"vcpus":{"type":"integer","description":"Number of VCPUs","readOnly":true}}},"cloud.flavor.FlavorPlanCodes":{"type":"object","description":"FlavorPlanCodes","properties":{"hourly":{"type":"string","description":"Plan code to order hourly instance","nullable":true,"readOnly":true},"license":{"type":"string","description":"Plan code of associated license","nullable":true,"readOnly":true},"monthly":{"type":"string","description":"Plan code to order monthly instance","nullable":true,"readOnly":true}}},"cloud.image.Image":{"type":"object","description":"Image","properties":{"creationDate":{"type":"string","description":"Image creation date","format":"date-time","readOnly":true},"flavorType":{"type":"string","description":"Image usable only for this type of flavor if not null","nullable":true,"readOnly":true},"id":{"type":"string","description":"Image id","readOnly":true},"minDisk":{"type":"integer","description":"Minimum disks required to use image","readOnly":true},"minRam":{"type":"integer","description":"Minimum RAM required to use image","readOnly":true},"name":{"type":"string","description":"Image name","readOnly":true},"planCode":{"type":"string","description":"Order plan code","nullable":true,"readOnly":true},"region":{"type":"string","description":"Image region","readOnly":true},"size":{"type":"number","description":"Image size (in GiB)","readOnly":true},"status":{"type":"string","description":"Image status","readOnly":true},"tags":{"type":"array","description":"Tags about the image","nullable":true,"items":{"type":"string"},"readOnly":true},"type":{"type":"string","description":"Image type","readOnly":true},"user":{"type":"string","description":"User to connect with","readOnly":true},"visibility":{"type":"string","description":"Image visibility","readOnly":true}}},"cloud.image.OSTypeEnum":{"type":"string","description":"OSTypeEnum","enum":["baremetal-linux","bsd","linux","windows"]},"cloud.instance.Access":{"type":"object","description":"Access","properties":{"login":{"type":"string","description":"Login","readOnly":true},"password":{"type":"string","description":"Password","format":"password","readOnly":true},"type":{"type":"string","description":"Application access type","readOnly":true},"url":{"type":"string","description":"Url","readOnly":true}}},"cloud.instance.Action":{"type":"object","description":"Action","properties":{"group":{"allOf":[{"$ref":"#/components/schemas/cloud.aggregated.InstanceActionGroupEnum"}],"description":"Action group","readOnly":true},"name":{"type":"string","description":"Action name","readOnly":true}}},"cloud.instance.ApplicationAccess":{"type":"object","description":"ApplicationAccess","properties":{"accesses":{"type":"array","description":"List of credentials","items":{"$ref":"#/components/schemas/cloud.instance.Access"},"readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.instance.ApplicationAccessStateEnum"}],"description":"Application status","readOnly":true}}},"cloud.instance.ApplicationAccessStateEnum":{"type":"string","description":"ApplicationAccessStateEnum","enum":["installing","ok"]},"cloud.instance.AssociateFloatingIp":{"type":"object","description":"Parameters to associate an existing floating IP to an instance","properties":{"floatingIpId":{"type":"string","description":"Floating IP ID","format":"uuid"},"gateway":{"allOf":[{"$ref":"#/components/schemas/cloud.network.CreateGatewaySummary"}],"description":"Parameters to create a gateway if required","nullable":true},"ip":{"allOf":[{"$ref":"#/components/schemas/ip"}],"description":"Private instance IP to associate the floating IP with"}},"required":["floatingIpId","ip"]},"cloud.instance.CreateFloatingIp":{"type":"object","description":"Parameters to create a floating IP for an instance","properties":{"gateway":{"allOf":[{"$ref":"#/components/schemas/cloud.network.CreateGatewaySummary"}],"description":"Parameters to create a gateway if required","nullable":true},"ip":{"allOf":[{"$ref":"#/components/schemas/ip"}],"description":"Private instance IP to associate the floating IP with"}},"required":["ip"]},"cloud.instance.CreateInput":{"type":"object","description":"Instance creation input","properties":{"autobackup":{"allOf":[{"$ref":"#/components/schemas/cloud.Instance.AutoBackup"}],"description":"Create an autobackup workflow after instance start up","nullable":true},"availabilityZone":{"type":"string","description":"The availability zone where the instance will be created","nullable":true},"billingPeriod":{"allOf":[{"$ref":"#/components/schemas/cloud.instance.CreateInput.BillingPeriodEnum"}],"description":"Billing period"},"bootFrom":{"allOf":[{"$ref":"#/components/schemas/cloud.instance.CreateInput.BootFrom"}],"description":"Boot the instance from an image or a volume"},"bulk":{"type":"integer","description":"Create multiple instances"},"flavor":{"allOf":[{"$ref":"#/components/schemas/cloud.instance.CreateInput.Flavor"}],"description":"Flavor information"},"group":{"allOf":[{"$ref":"#/components/schemas/cloud.instance.CreateInput.Group"}],"description":"Start instance in group","nullable":true},"name":{"type":"string","description":"Instance name"},"network":{"allOf":[{"$ref":"#/components/schemas/cloud.instance.CreateInput.Network"}],"description":"Networks information"},"sshKey":{"allOf":[{"$ref":"#/components/schemas/cloud.instance.CreateInput.SshKey"}],"description":"Existing SSH Keypair","nullable":true},"sshKeyCreate":{"allOf":[{"$ref":"#/components/schemas/cloud.instance.CreateInput.SshKeyCreate"}],"description":"Information to create a new SSH Keypair","nullable":true},"userData":{"type":"string","description":"Configuration information or scripts to use upon launch","nullable":true},"volume":{"allOf":[{"$ref":"#/components/schemas/cloud.instance.CreateInput.Volume"}],"description":"Volume to create and/or attach to the instance","nullable":true}},"required":["billingPeriod","bootFrom","flavor","network"]},"cloud.instance.CreateInput.BillingPeriodEnum":{"type":"string","description":"Billing period","enum":["hourly","monthly"]},"cloud.instance.CreateInput.BootFrom":{"type":"object","description":"Boot the instance from an image or a volume. Both cannot be null.","properties":{"imageId":{"type":"string","description":"Instance image id","nullable":true,"format":"uuid"},"imageRegionName":{"type":"string","description":"Region of the instance image","nullable":true},"volumeId":{"type":"string","description":"Specify a volume id to boot from it","nullable":true,"format":"uuid"}}},"cloud.instance.CreateInput.Flavor":{"type":"object","description":"Flavor information","properties":{"id":{"type":"string","description":"Instance flavor id","format":"uuid"}}},"cloud.instance.CreateInput.Group":{"type":"object","description":"Start instance in group","properties":{"id":{"type":"string","description":"Group id"}}},"cloud.instance.CreateInput.Network":{"type":"object","description":"Networks information for instance creation. Either a public or private network must be specified. Both cannot be null.","properties":{"private":{"allOf":[{"$ref":"#/components/schemas/cloud.instance.CreateInput.Network.Private"}],"description":"Private network information","nullable":true},"public":{"type":"boolean","description":"Set the new instance as public"}}},"cloud.instance.CreateInput.Network.Private":{"type":"object","description":"Private network information","properties":{"floatingIp":{"allOf":[{"$ref":"#/components/schemas/cloud.instance.CreateInput.Network.Private.FloatingIp"}],"description":"Existing floating IP","nullable":true},"floatingIpCreate":{"allOf":[{"$ref":"#/components/schemas/cloud.instance.CreateInput.Network.Private.FloatingIpCreate"}],"description":"Information to create a new floating IP","nullable":true},"gateway":{"allOf":[{"$ref":"#/components/schemas/cloud.instance.CreateInput.Network.Private.Gateway"}],"description":"Existing gateway","nullable":true},"gatewayCreate":{"allOf":[{"$ref":"#/components/schemas/cloud.instance.CreateInput.Network.Private.GatewayCreate"}],"description":"Information to create a new gateway","nullable":true},"ip":{"allOf":[{"$ref":"#/components/schemas/ipv4"}],"description":"Instance IP in the private network","nullable":true},"network":{"allOf":[{"$ref":"#/components/schemas/cloud.instance.CreateInput.Network.Private.Network"}],"description":"Existing private network","nullable":true},"networkCreate":{"allOf":[{"$ref":"#/components/schemas/cloud.instance.CreateInput.Network.Private.NetworkCreate"}],"description":"Information to create a new private network","nullable":true}}},"cloud.instance.CreateInput.Network.Private.FloatingIp":{"type":"object","description":"Existing floating IP","properties":{"id":{"type":"string","description":"Floating IP ID","format":"uuid"}}},"cloud.instance.CreateInput.Network.Private.FloatingIpCreate":{"type":"object","description":"Information to create a new floating IP","properties":{"description":{"type":"string","description":"Floating IP description"}}},"cloud.instance.CreateInput.Network.Private.Gateway":{"type":"object","description":"Existing gateway","properties":{"id":{"type":"string","description":"Gateway ID","format":"uuid"}}},"cloud.instance.CreateInput.Network.Private.GatewayCreate":{"type":"object","description":"Information to create a new gateway","properties":{"model":{"allOf":[{"$ref":"#/components/schemas/cloud.instance.CreateInput.Network.Private.GatewayCreate.ModelEnum"}],"description":"Gateway model"},"name":{"type":"string","description":"Gateway name"}}},"cloud.instance.CreateInput.Network.Private.GatewayCreate.ModelEnum":{"type":"string","description":"Gateway model","enum":["l","m","s"]},"cloud.instance.CreateInput.Network.Private.Network":{"type":"object","description":"Existing private network","properties":{"id":{"type":"string","description":"Network ID","format":"uuid"},"subnetId":{"type":"string","description":"Existing Subnet ID","format":"uuid"}}},"cloud.instance.CreateInput.Network.Private.NetworkCreate":{"type":"object","description":"Information to create a new private network","properties":{"name":{"type":"string","description":"Network name"},"subnet":{"allOf":[{"$ref":"#/components/schemas/cloud.instance.CreateInput.Network.Private.NetworkCreate.Subnet"}],"description":"New subnet information"},"vlanId":{"type":"integer","description":"Network vlan ID","nullable":true}}},"cloud.instance.CreateInput.Network.Private.NetworkCreate.Subnet":{"type":"object","description":"New subnet information","properties":{"cidr":{"allOf":[{"$ref":"#/components/schemas/ipv4Block"}],"description":"Subnet range in CIDR notation"},"dnsNameServers":{"type":"array","description":"DNS nameservers of the subnet, the default public DNS resolver is used when absent or empty","items":{"$ref":"#/components/schemas/ip"}},"enableDhcp":{"type":"boolean","description":"Enable DHCP on the private network"},"enableGatewayIP":{"type":"boolean","description":"Enable gateway IP","nullable":true},"ipVersion":{"type":"integer","description":"IP version"}}},"cloud.instance.CreateInput.SshKey":{"type":"object","description":"Existing SSH Keypair","properties":{"name":{"type":"string","description":"SSH Keypair name"}}},"cloud.instance.CreateInput.SshKeyCreate":{"type":"object","description":"Information to create a new SSH Keypair","properties":{"name":{"type":"string","description":"SSH key name"},"publicKey":{"type":"string","description":"SSH public key"}}},"cloud.instance.CreateInput.Volume":{"type":"object","description":"Volume to create and/or attach to the instance","properties":{"id":{"type":"string","description":"Existing volume ID to attach","nullable":true,"format":"uuid"},"name":{"type":"string","description":"Volume name for new volume creation","nullable":true},"size":{"type":"integer","description":"Volume size (in GiB) for new volume creation","nullable":true},"type":{"allOf":[{"$ref":"#/components/schemas/cloud.volume.VolumeTypeEnum"}],"description":"Volume type for new volume creation","nullable":true}}},"cloud.instance.CreateSnapshot":{"type":"object","description":"Creates instance snapshots with support for both local and distant region deployment. Creates a snapshot locally in the current region, and optionally creates an additional snapshot in a distant region when distant region parameters are provided.","properties":{"distantRegionName":{"type":"string","description":"Name of the remote region where the distant snapshot will be created (optional)","nullable":true},"distantSnapshotName":{"type":"string","description":"Name for the snapshot that will be created in the distant region (optional)","nullable":true},"snapshotName":{"type":"string","description":"Name for the snapshot that will be created in the current region"}}},"cloud.instance.IPAddressTypeEnum":{"type":"string","description":"IPAddressTypeEnum","enum":["floating","private","public"]},"cloud.instance.Instance":{"type":"object","description":"Instance","properties":{"availabilityZone":{"type":"string","description":"Availability zone of the instance","nullable":true,"readOnly":true},"created":{"type":"string","description":"Instance creation date","format":"date-time","readOnly":true},"currentMonthOutgoingTraffic":{"type":"integer","description":"Instance outgoing network traffic for the current month (in bytes)","nullable":true,"readOnly":true},"flavor":{"allOf":[{"$ref":"#/components/schemas/cloud.flavor.Flavor"}],"description":"Instance flavor","nullable":true,"readOnly":true},"flavorId":{"type":"string","description":"Instance flavor id","readOnly":true},"id":{"type":"string","description":"Instance id","readOnly":true},"image":{"allOf":[{"$ref":"#/components/schemas/cloud.image.Image"}],"description":"Instance image","nullable":true,"readOnly":true},"imageId":{"type":"string","description":"Instance image id","readOnly":true},"ipAddresses":{"type":"array","description":"Instance IP addresses","items":{"$ref":"#/components/schemas/cloud.instance.IpAddress"},"readOnly":true},"monthlyBilling":{"allOf":[{"$ref":"#/components/schemas/cloud.instance.MonthlyBilling"}],"description":"Instance monthly billing status","nullable":true,"readOnly":true},"name":{"type":"string","description":"Instance name","readOnly":true},"operationIds":{"type":"array","description":"Ids of pending public cloud operations","items":{"type":"string"},"readOnly":true},"planCode":{"type":"string","description":"Order plan code","nullable":true,"readOnly":true},"region":{"type":"string","description":"Instance id","readOnly":true},"rescuePassword":{"type":"string","description":"Rescue password if instance is in RESCUE status","nullable":true,"format":"password","readOnly":true},"sshKey":{"allOf":[{"$ref":"#/components/schemas/cloud.sshkey.SshKeyDetail"}],"description":"Instance SSH key","nullable":true,"readOnly":true},"sshKeyId":{"type":"string","description":"Instance ssh key id","nullable":true,"readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.instance.InstanceStatusEnum"}],"description":"Instance status","readOnly":true}}},"cloud.instance.InstanceAddress":{"type":"object","description":"IP address","properties":{"ip":{"allOf":[{"$ref":"#/components/schemas/ip"}],"description":"IP address","readOnly":true},"subnet":{"allOf":[{"$ref":"#/components/schemas/cloud.instance.InstanceAddressSubnet"}],"description":"Subnet of the address","nullable":true,"readOnly":true},"type":{"allOf":[{"$ref":"#/components/schemas/cloud.instance.IPAddressTypeEnum"}],"description":"Address type","nullable":true,"readOnly":true},"version":{"type":"integer","description":"IP version","readOnly":true}}},"cloud.instance.InstanceAddressSubnet":{"type":"object","description":"Subnet of the address","properties":{"gatewayIP":{"allOf":[{"$ref":"#/components/schemas/ip"}],"description":"Subnet gateway ip","nullable":true,"readOnly":true},"id":{"type":"string","description":"Subnet id","readOnly":true},"name":{"type":"string","description":"Subnet name","readOnly":true},"network":{"allOf":[{"$ref":"#/components/schemas/cloud.instance.InstanceAddressSubnetNetwork"}],"description":"Subnet network","readOnly":true}}},"cloud.instance.InstanceAddressSubnetNetwork":{"type":"object","description":"Network of the subnet","properties":{"id":{"type":"string","description":"Network id","readOnly":true},"name":{"type":"string","description":"Network name","readOnly":true}}},"cloud.instance.InstanceBackup":{"type":"object","description":"Backups of the instance","properties":{"createdAt":{"type":"string","description":"backup creation date (format RFC3339)","readOnly":true},"id":{"type":"string","description":"Backup id","readOnly":true},"name":{"type":"string","description":"Backup name","readOnly":true},"region":{"type":"string","description":"Region of the backup","readOnly":true}}},"cloud.instance.InstanceFlavor":{"type":"object","description":"Flavor of the instance","properties":{"id":{"type":"string","description":"Flavor id","readOnly":true},"name":{"type":"string","description":"Flavor name","readOnly":true},"specs":{"allOf":[{"$ref":"#/components/schemas/cloud.instance.InstanceFlavorSpecs"}],"description":"Flavor specs","readOnly":true}}},"cloud.instance.InstanceFlavorSpecBandwidth":{"type":"object","description":"Bandwidth of the flavor","properties":{"private":{"allOf":[{"$ref":"#/components/schemas/cloud.instance.InstanceFlavorSpecWithUnit"}],"description":"Private bandwidth","readOnly":true},"public":{"allOf":[{"$ref":"#/components/schemas/cloud.instance.InstanceFlavorSpecWithUnit"}],"description":"Public bandwidth","readOnly":true}}},"cloud.instance.InstanceFlavorSpecWithUnit":{"type":"object","description":"Spec with unit","properties":{"unit":{"type":"string","description":"Spec unit","readOnly":true},"value":{"type":"integer","description":"Spec value","readOnly":true}}},"cloud.instance.InstanceFlavorSpecs":{"type":"object","description":"Specs of the flavor","properties":{"bandwidth":{"allOf":[{"$ref":"#/components/schemas/cloud.instance.InstanceFlavorSpecBandwidth"}],"description":"Flavor bandwidth","readOnly":true},"cpu":{"allOf":[{"$ref":"#/components/schemas/cloud.instance.InstanceFlavorSpecWithUnit"}],"description":"Flavor CPU","readOnly":true},"ram":{"allOf":[{"$ref":"#/components/schemas/cloud.instance.InstanceFlavorSpecWithUnit"}],"description":"Flavor RAM","readOnly":true},"storage":{"allOf":[{"$ref":"#/components/schemas/cloud.instance.InstanceFlavorSpecWithUnit"}],"description":"Flavor storage","readOnly":true}}},"cloud.instance.InstanceImage":{"type":"object","description":"Instance Image","properties":{"deprecated":{"type":"boolean","description":"Is image deprecated","readOnly":true},"id":{"type":"string","description":"Image id","readOnly":true},"name":{"type":"string","description":"Image name","readOnly":true}}},"cloud.instance.InstanceList":{"type":"object","description":"Instance","properties":{"actions":{"type":"array","description":"Actions that can be done on the instance","nullable":true,"items":{"$ref":"#/components/schemas/cloud.instance.Action"},"readOnly":true},"addresses":{"type":"array","description":"Instance IP addresses","items":{"$ref":"#/components/schemas/cloud.instance.InstanceAddress"},"readOnly":true},"attachedVolumes":{"type":"array","description":"Volumes attached to the instance","items":{"$ref":"#/components/schemas/cloud.instance.InstanceSummaryVolumeValue"},"readOnly":true},"availabilityZone":{"type":"string","description":"Availability zone of the instance","nullable":true,"readOnly":true},"backups":{"type":"array","description":"Instance Backups","nullable":true,"items":{"$ref":"#/components/schemas/cloud.instance.InstanceBackup"},"readOnly":true},"flavor":{"allOf":[{"$ref":"#/components/schemas/cloud.instance.InstanceFlavor"}],"description":"Instance flavor","nullable":true,"readOnly":true},"flavorId":{"type":"string","description":"Flavor id","format":"uuid","readOnly":true},"flavorName":{"type":"string","description":"Flavor name","readOnly":true},"id":{"type":"string","description":"Instance id","format":"uuid","readOnly":true},"image":{"allOf":[{"$ref":"#/components/schemas/cloud.instance.InstanceImage"}],"description":"Instance image","nullable":true,"readOnly":true},"imageId":{"type":"string","description":"Image id","nullable":true,"format":"uuid","readOnly":true},"login":{"type":"string","description":"User and address to SSH to your instance","nullable":true,"readOnly":true},"name":{"type":"string","description":"Instance name","readOnly":true},"pendingTask":{"type":"boolean","description":"A task is pending for the instance","nullable":true,"readOnly":true},"pricings":{"type":"array","description":"Instance Price","nullable":true,"items":{"$ref":"#/components/schemas/cloud.instance.InstancePrice"},"readOnly":true},"region":{"type":"string","description":"Instance region","readOnly":true},"regionType":{"allOf":[{"$ref":"#/components/schemas/cloud.RegionTypeEnum"}],"description":"Type of the region","readOnly":true},"sshKey":{"type":"string","description":"Instance SSH key name","readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.instance.InstanceStatusEnum"}],"description":"Instance status","readOnly":true},"taskState":{"allOf":[{"$ref":"#/components/schemas/cloud.instance.InstanceSummaryTaskStateEnum"}],"description":"Instance task state","readOnly":true},"volumes":{"type":"array","description":"Instance volumes","nullable":true,"items":{"$ref":"#/components/schemas/cloud.instance.InstanceVolume"},"readOnly":true}}},"cloud.instance.InstancePrice":{"type":"object","description":"Price of the instance","properties":{"includeVat":{"type":"boolean","description":"is vat included in price","readOnly":true},"price":{"allOf":[{"$ref":"#/components/schemas/order.Price"}],"description":"Instance price","readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.instance.InstancePriceStatusEnum"}],"description":"Instance price status","readOnly":true},"type":{"allOf":[{"$ref":"#/components/schemas/cloud.instance.InstancePriceTypeEnum"}],"description":"Instance price type","readOnly":true}}},"cloud.instance.InstancePriceStatusEnum":{"type":"string","description":"Instance price status","enum":["available","enabled"]},"cloud.instance.InstancePriceTypeEnum":{"type":"string","description":"Instance price type","enum":["hour","licence","licenceMonth","localDisk","month"]},"cloud.instance.InstanceSnapshot":{"type":"object","description":"InstanceSnapshot","properties":{"snapshotId":{"type":"string","description":"Snapshot ID","readOnly":true}}},"cloud.instance.InstanceStatusEnum":{"type":"string","description":"InstanceStatusEnum","enum":["ACTIVE","BUILD","BUILDING","DELETED","DELETING","ERROR","HARD_REBOOT","MIGRATING","PASSWORD","PAUSED","REBOOT","REBUILD","RESCUE","RESCUED","RESCUING","RESIZE","RESIZED","RESUMING","REVERT_RESIZE","SHELVED","SHELVED_OFFLOADED","SHELVING","SHUTOFF","SNAPSHOTTING","SOFT_DELETED","STOPPED","SUSPENDED","UNKNOWN","UNRESCUING","UNSHELVING","VERIFY_RESIZE"]},"cloud.instance.InstanceSummaryTaskStateEnum":{"type":"string","description":"Enum values for taskState of an instance","enum":["","block_device_mapping","deleting","image_backup","image_pending_upload","image_snapshot","image_snapshot_pending","image_uploading","migrating","networking","pausing","powering-off","powering-on","reboot_pending","reboot_pending_hard","reboot_started","reboot_started_hard","reboot_starting","rebooting","rebooting_hard","rebooting_pending_hard","rebooting_started_hard","rebuild_block_device_mapping","rebuild_spawning","rebuilding","rescuing","resize_confirming","resize_finish","resize_migrated","resize_migrating","resize_prep","resize_reverting","restoring","resuming","scheduling","shelving","shelving_image_pending_upload","shelving_image_uploading","shelving_offloading","soft_deleting","spawning","starting","stopping","suspending","unknown","unpausing","unrescuing","unshelving","updating_password"]},"cloud.instance.InstanceSummaryVolumeValue":{"type":"object","description":"Volumes attached to your instance","properties":{"id":{"type":"string","description":"Volume Id","format":"uuid","readOnly":true}}},"cloud.instance.InstanceVnc":{"type":"object","description":"InstanceVnc","properties":{"type":{"type":"string","description":"VNC type","readOnly":true},"url":{"type":"string","description":"VNC url","readOnly":true}}},"cloud.instance.InstanceVolume":{"type":"object","description":"Volumes attached to your instance","properties":{"id":{"type":"string","description":"Volume id","readOnly":true},"name":{"type":"string","description":"Volume name","nullable":true,"readOnly":true},"size":{"type":"integer","description":"Volume size in GB","nullable":true,"readOnly":true}}},"cloud.instance.IpAddress":{"type":"object","description":"IpAddress","properties":{"gatewayIp":{"allOf":[{"$ref":"#/components/schemas/ip"}],"description":"Gateway IP","nullable":true,"readOnly":true},"ip":{"type":"string","description":"Instance IP address","readOnly":true},"networkId":{"type":"string","description":"Network ID","readOnly":true},"type":{"type":"string","description":"Instance IP address type","readOnly":true},"version":{"type":"integer","description":"IP version","readOnly":true}}},"cloud.instance.MonthlyBilling":{"type":"object","description":"MonthlyBilling","properties":{"since":{"type":"string","description":"Monthly billing activated since","format":"date-time","readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.instance.MonthlyBillingStatusEnum"}],"description":"Monthly billing status","readOnly":true}}},"cloud.instance.MonthlyBillingStatusEnum":{"type":"string","description":"MonthlyBillingStatusEnum","enum":["activationPending","ok"]},"cloud.instance.MonthlyInstanceBulkParams":{"type":"object","description":"Instance with region to set as monthly billing","properties":{"instanceId":{"type":"string","description":"Instance id","format":"uuid"},"region":{"type":"string","description":"Region name"}}},"cloud.instance.NetworkBulkParams":{"type":"object","description":"NetworkBulkParams","properties":{"networkId":{"type":"string","description":"Private or public network Id"}}},"cloud.instance.NetworkParams":{"type":"object","description":"NetworkParams","properties":{"ip":{"allOf":[{"$ref":"#/components/schemas/ip"}],"description":"Static ip (Can only be defined for private networks)","nullable":true},"networkId":{"type":"string","description":"Private or public network Id"}}},"cloud.instance.RebootTypeEnum":{"type":"string","description":"RebootTypeEnum","enum":["hard","soft"]},"cloud.instance.Reinstall":{"type":"object","description":"Instance reinstall input","properties":{"imageId":{"type":"string","description":"Image ID"},"imageRegionName":{"type":"string","description":"Region of the image to reinstall"}},"required":["imageRegionName"]},"cloud.instance.RescueAdminPassword":{"type":"object","description":"RescueAdminPassword","properties":{"adminPassword":{"type":"string","description":"Admin password to connect to your rescue server with","nullable":true,"format":"password","readOnly":true}}},"cloud.instance.SimpleAutoBackup":{"type":"object","description":"Autobackup params at instance creation","properties":{"cron":{"type":"string","description":"Unix Cron pattern (eg: '0 0 * * *')"},"rotation":{"type":"integer","description":"Number of backup to keep"}}},"cloud.instance.Snapshot":{"type":"object","description":"Instance snapshot","properties":{"imageId":{"type":"string","description":"Instance image id","readOnly":true},"operationId":{"type":"string","description":"Id of pending public cloud operation","readOnly":true}}},"cloud.instanceInterface.FixedIp":{"type":"object","description":"FixedIp","properties":{"ip":{"type":"string","description":"Ip","readOnly":true},"subnetId":{"type":"string","description":"Subnetwork Id","readOnly":true}}},"cloud.instanceInterface.Interface":{"type":"object","description":"Interface","properties":{"fixedIps":{"type":"array","description":"List of ips of the interface","items":{"$ref":"#/components/schemas/cloud.instanceInterface.FixedIp"},"readOnly":true},"id":{"type":"string","description":"Interface unique identifier","readOnly":true},"macAddress":{"type":"string","description":"Mac address","readOnly":true},"networkId":{"type":"string","description":"Network id","readOnly":true},"state":{"type":"string","description":"Openstack state","readOnly":true},"type":{"type":"string","description":"Network type","readOnly":true}}},"cloud.instancegroup.InstanceGroup":{"type":"object","description":"InstanceGroup","properties":{"id":{"type":"string","description":"Instance group id","readOnly":true},"instance_ids":{"type":"array","description":"Instances ids","items":{"type":"string"},"readOnly":true},"name":{"type":"string","description":"Instance group name","readOnly":true},"region":{"type":"string","description":"region","readOnly":true},"type":{"allOf":[{"$ref":"#/components/schemas/cloud.instancegroup.InstanceGroupTypeEnum"}],"description":"Instance group type","readOnly":true}}},"cloud.instancegroup.InstanceGroupTypeEnum":{"type":"string","description":"InstanceGroupTypeEnum","enum":["affinity","anti-affinity"]},"cloud.ip.CloudIp":{"type":"object","description":"CloudIp","properties":{"id":{"type":"string","description":"Ip id","readOnly":true},"ip":{"allOf":[{"$ref":"#/components/schemas/ipBlock"}],"description":"Ip","nullable":true,"readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.ip.IpStatusEnum"}],"description":"Ip status","readOnly":true},"type":{"type":"string","description":"Ip type","readOnly":true}}},"cloud.ip.FailoverIp":{"type":"object","description":"FailoverIp","properties":{"block":{"allOf":[{"$ref":"#/components/schemas/ipBlock"}],"description":"IP block","nullable":true,"readOnly":true},"continentCode":{"type":"string","description":"Ip continent","nullable":true,"readOnly":true},"geoloc":{"type":"string","description":"Ip location","nullable":true,"readOnly":true},"id":{"type":"string","description":"Ip id","readOnly":true},"ip":{"allOf":[{"$ref":"#/components/schemas/ip"}],"description":"Ip","nullable":true,"readOnly":true},"progress":{"type":"integer","description":"Current operation progress in percent","readOnly":true},"routedTo":{"type":"string","description":"Instance where ip is routed to","nullable":true,"readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.ip.IpStatusEnum"}],"description":"Ip status","readOnly":true},"subType":{"allOf":[{"$ref":"#/components/schemas/cloud.ip.IpSubTypeEnum"}],"description":"IP sub type","readOnly":true}}},"cloud.ip.IpStatusEnum":{"type":"string","description":"IpStatusEnum","enum":["ok","operationPending"]},"cloud.ip.IpSubTypeEnum":{"type":"string","description":"IpSubTypeEnum","enum":["cloud","ovh"]},"cloud.keymanager.Certificate":{"type":"object","description":"Key-manager certificate secret container","properties":{"id":{"type":"string","description":"ID of the certificate","format":"uuid","readOnly":true},"name":{"type":"string","description":"Name of the certificate","readOnly":true},"region":{"type":"string","description":"Certificate region","readOnly":true},"secrets":{"type":"array","description":"List of secrets in certificate container","items":{"$ref":"#/components/schemas/cloud.keymanager.SecretRef"},"readOnly":true}}},"cloud.keymanager.CertificateCreate":{"type":"object","description":"Input to create a certificate","properties":{"certificate":{"type":"string","description":"Content of the certificate","format":"password"},"intermediates":{"type":"string","description":"Content of the intermediates certificates if any","format":"password"},"name":{"type":"string","description":"Name of the certificate"},"privateKey":{"type":"string","description":"Private key","format":"password"},"privateKeyPassphrase":{"type":"string","description":"Private key passphrase if any","format":"password"}},"required":["certificate","name","privateKey"]},"cloud.keymanager.Secret":{"type":"object","description":"secret","properties":{"id":{"type":"string","description":"ID of the secret","format":"uuid","readOnly":true},"name":{"type":"string","description":"Name of the secret","readOnly":true},"region":{"type":"string","description":"Secret region","readOnly":true}}},"cloud.keymanager.SecretRef":{"type":"object","description":"Secret reference","properties":{"id":{"type":"string","description":"ID of the secret","format":"uuid","readOnly":true},"name":{"type":"string","description":"Name of the secret","readOnly":true}}},"cloud.kube.Cluster":{"type":"object","description":"Managed Kubernetes cluster description","properties":{"auditLogsSubscribed":{"type":"boolean","description":"True if cluster auditlogs forward has been subscribed","readOnly":true},"controlPlaneIsUpToDate":{"type":"boolean","description":"True if control-plane is up to date","readOnly":true},"createdAt":{"type":"string","description":"Cluster creation date","format":"date-time","readOnly":true},"customization":{"allOf":[{"$ref":"#/components/schemas/cloud.ProjectKubeCustomization"}],"description":"Kubernetes cluster customization","nullable":true,"readOnly":true},"disablePublicNetworking":{"type":"boolean","description":"Disable public connectivity","nullable":true,"readOnly":true},"id":{"type":"string","description":"Cluster ID","readOnly":true},"ipAllocationPolicy":{"allOf":[{"$ref":"#/components/schemas/cloud.ProjectKubeIpAllocationPolicy"}],"description":"IP allocation policy","nullable":true,"readOnly":true},"isUpToDate":{"type":"boolean","description":"True if all nodes and control-plane are up to date","readOnly":true},"kubeProxyMode":{"allOf":[{"$ref":"#/components/schemas/cloud.kube.KubeProxyModeEnum"}],"description":"Selected mode for kube-proxy","nullable":true,"readOnly":true},"loadBalancersSubnetId":{"type":"string","description":"OpenStack subnet ID that the load balancers will use. Optional, can be updated with endpoint /cloud/project/{serviceName}/kube/{kubeId}/updateLoadBalancersSubnetId, can only be set if privateNetworkId and nodesSubnetId are also set","nullable":true,"format":"uuid","readOnly":true},"name":{"type":"string","description":"Cluster name","readOnly":true},"nextUpgradeVersions":{"type":"array","description":"Kubernetes versions available for upgrade","nullable":true,"items":{"type":"string"},"readOnly":true},"nodesSubnetId":{"type":"string","description":"OpenStack subnet ID that the cluster nodes will use. Optional, can only be set on cluster creation or reset, can only be set if privateNetworkId is also set. If unspecified, it will be selected automatically when the first node is created.","nullable":true,"readOnly":true},"nodesUrl":{"type":"string","description":"Cluster nodes URL","readOnly":true},"plan":{"type":"string","description":"The cluster plan","readOnly":true},"privateNetworkConfiguration":{"allOf":[{"$ref":"#/components/schemas/cloud.kube.PrivateNetworkConfiguration"}],"description":"The private network configuration. This field is optional.","nullable":true,"readOnly":true},"privateNetworkId":{"type":"string","description":"OpenStack private network ID that the cluster will use. Optional, can only be set on cluster creation or reset. If unspecified, the cluster will use the public network.","nullable":true,"readOnly":true},"region":{"type":"string","description":"Cluster region. Example: GRA11.","readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.kube.ClusterStatusEnum"}],"description":"Cluster status","readOnly":true},"updatePolicy":{"type":"string","description":"Cluster update policy","readOnly":true},"updatedAt":{"type":"string","description":"Cluster last update date","format":"date-time","readOnly":true},"url":{"type":"string","description":"Management URL of your cluster","readOnly":true},"version":{"type":"string","description":"Kubernetes version of your cluster","readOnly":true}}},"cloud.kube.ClusterStatusEnum":{"type":"string","description":"Enum values for Status","enum":["DELETED","DELETING","ERROR","INSTALLING","MAINTENANCE","READY","REDEPLOYING","REOPENING","RESETTING","SUSPENDED","SUSPENDING","UNKNOWN","UPDATING","USER_ERROR","USER_QUOTA_ERROR","USER_WEBHOOK_PREVENTING_OPERATIONS_ERROR"]},"cloud.kube.EtcdUsage":{"type":"object","description":"Etcd usage and quota for a given cluster","properties":{"quota":{"type":"integer","description":"Maximum allowed size of etcd data for the cluster (bytes)","readOnly":true},"usage":{"type":"integer","description":"Size of etcd data used by the cluster (bytes)","readOnly":true}}},"cloud.kube.Flavor":{"type":"object","description":"a flavor kind","properties":{"category":{"allOf":[{"$ref":"#/components/schemas/cloud.kube.FlavorCategoryEnum"}],"description":"Flavor family","readOnly":true},"gpus":{"type":"integer","description":"Number of GPUs","readOnly":true},"name":{"type":"string","description":"Flavor name","readOnly":true},"ram":{"type":"integer","description":"Ram quantity (GB)","readOnly":true},"state":{"allOf":[{"$ref":"#/components/schemas/cloud.kube.FlavorStateEnum"}],"description":"Flavor state","readOnly":true},"vCPUs":{"type":"integer","description":"Number of VCPUs","readOnly":true}}},"cloud.kube.FlavorCategoryEnum":{"type":"string","description":"Enum values for category","enum":["a","b","c","d","g","h","i","l","r","t"]},"cloud.kube.FlavorStateEnum":{"type":"string","description":"Enum values for State","enum":["available","unavailable"]},"cloud.kube.KubeProxyIpvsSchedulerEnum":{"type":"string","description":"Enum values for scheduler parameter of cluster kubeProxy custom ipvs config","enum":["dh","lc","nq","rr","sed","sh"]},"cloud.kube.KubeProxyModeEnum":{"type":"string","description":"Enum values for cluster kubeProxyMode","enum":["iptables","ipvs"]},"cloud.kube.Kubeconfig":{"type":"object","description":"Kubeconfig description","properties":{"content":{"type":"string","description":"kubeconfig file","format":"password","readOnly":true}}},"cloud.kube.Node":{"type":"object","description":"Node installed on your cluster","properties":{"createdAt":{"type":"string","description":"Creation date","format":"date-time","readOnly":true},"deletedAt":{"type":"string","description":"Node deletion date","nullable":true,"format":"date-time","readOnly":true},"deployedAt":{"type":"string","description":"Node deployment date","nullable":true,"format":"date-time","readOnly":true},"flavor":{"type":"string","description":"Flavor name","readOnly":true},"id":{"type":"string","description":"Node ID","readOnly":true},"instanceId":{"type":"string","description":"Public Cloud instance id","nullable":true,"readOnly":true},"isUpToDate":{"type":"boolean","description":"True if the node is up to date","readOnly":true},"name":{"type":"string","description":"Node name","readOnly":true},"nodePoolId":{"type":"string","description":"NodePool parent id","readOnly":true},"projectId":{"type":"string","description":"Project id","readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.kube.NodeStatusEnum"}],"description":"Status","readOnly":true},"updatedAt":{"type":"string","description":"Node last update date","format":"date-time","readOnly":true},"version":{"type":"string","description":"Node version","readOnly":true}}},"cloud.kube.NodePool":{"type":"object","description":"NodePool created on your cluster to manage your nodes","properties":{"antiAffinity":{"type":"boolean","description":"Enable anti affinity groups for nodes in the pool","readOnly":true},"attachFloatingIps":{"allOf":[{"$ref":"#/components/schemas/cloud.kube.NodePoolAttachFloatingIps"}],"description":"Parameters for optional node exposition via a floating IP per node","nullable":true,"readOnly":true},"autoscale":{"type":"boolean","description":"Enable auto-scaling for the pool","readOnly":true},"autoscaling":{"allOf":[{"$ref":"#/components/schemas/cloud.kube.NodePoolAutoscaling"}],"description":"Autoscaling customization parameters","readOnly":true},"availabilityZones":{"type":"array","description":"List of availability zones where nodes will be created (only 1 zone is supported for now)","nullable":true,"items":{"type":"string"},"readOnly":true},"availableNodes":{"type":"integer","description":"Number of nodes which are actually ready in the pool","readOnly":true},"createdAt":{"type":"string","description":"Creation date","format":"date-time","readOnly":true},"currentNodes":{"type":"integer","description":"Number of nodes present in the pool","readOnly":true},"desiredNodes":{"type":"integer","description":"Number of nodes you desire in the pool","readOnly":true},"flavor":{"type":"string","description":"Flavor name","readOnly":true},"id":{"type":"string","description":"NodePool ID","readOnly":true},"maxNodes":{"type":"integer","description":"Number of nodes you desire in the pool","readOnly":true},"minNodes":{"type":"integer","description":"Number of nodes you desire in the pool","readOnly":true},"monthlyBilled":{"type":"boolean","description":"Enable monthly billing on all nodes in the pool","readOnly":true},"name":{"type":"string","description":"NodePool resource name","readOnly":true},"projectId":{"type":"string","description":"Project id","readOnly":true},"sizeStatus":{"allOf":[{"$ref":"#/components/schemas/cloud.kube.NodePoolSizeStatusEnum"}],"description":"Status describing the state between number of nodes wanted and available ones","readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.kube.NodePoolStatusEnum"}],"description":"Current status","readOnly":true},"template":{"allOf":[{"$ref":"#/components/schemas/cloud.kube.NodePoolTemplate"}],"description":"Template of nodes metadata and spec to create in the pool","readOnly":true},"upToDateNodes":{"type":"integer","description":"Number of nodes with latest version installed in the pool","readOnly":true},"updatedAt":{"type":"string","description":"Last update date","format":"date-time","readOnly":true}}},"cloud.kube.NodePoolAttachFloatingIps":{"type":"object","description":"Parameters for optional node exposition via a floating IP per node","properties":{"enabled":{"type":"boolean","description":"Enable node exposition via floating IP per node","readOnly":true}}},"cloud.kube.NodePoolAutoscaling":{"type":"object","description":"Autoscaling customization parameters","properties":{"scaleDownUnneededTimeSeconds":{"type":"integer","description":"How long a node should be unneeded before it is eligible for scale down","readOnly":true},"scaleDownUnreadyTimeSeconds":{"type":"integer","description":"How long an unready node should be unneeded before it is eligible for scale down","readOnly":true},"scaleDownUtilizationThreshold":{"type":"number","description":"Sum of cpu or memory of all pods running on the node divided by node's corresponding allocatable resource, below which a node can be considered for scale down","readOnly":true}}},"cloud.kube.NodePoolSizeStatusEnum":{"type":"string","description":"Enum values for NodePool size Status","enum":["CAPACITY_OK","OVER_CAPACITY","UNDER_CAPACITY"]},"cloud.kube.NodePoolStatusEnum":{"type":"string","description":"Enum values for NodePool Status","enum":["DELETED","DELETING","DOWNSCALING","ERROR","INSTALLING","MAINTENANCE","READY","REDEPLOYING","REOPENING","RESETTING","SUSPENDED","SUSPENDING","UNKNOWN","UPDATING","UPSCALING","USER_ERROR","USER_NODE_NOT_FOUND_ERROR","USER_NODE_SUSPENDED_SERVICE","USER_QUOTA_ERROR","USER_WEBHOOK_PREVENTING_OPERATIONS_ERROR"]},"cloud.kube.NodePoolTemplate":{"type":"object","description":"Managed Kubernetes nodepool template","properties":{"metadata":{"allOf":[{"$ref":"#/components/schemas/cloud.kube.NodePoolTemplateMetadata"}],"description":"Metadata of each nodes in the pool"},"spec":{"allOf":[{"$ref":"#/components/schemas/cloud.kube.NodePoolTemplateSpec"}],"description":"Spec of each nodes in the pool"}},"required":["metadata","spec"]},"cloud.kube.NodePoolTemplateMetadata":{"type":"object","description":"Metadata of each nodes in the pool","properties":{"annotations":{"type":"object","description":"Annotations to apply to each nodes","additionalProperties":{"type":"string"}},"finalizers":{"type":"array","description":"Finalizers to apply to each nodes","items":{"type":"string"}},"labels":{"type":"object","description":"Labels to apply to each nodes","additionalProperties":{"type":"string"}}},"required":["annotations","finalizers","labels"]},"cloud.kube.NodePoolTemplateSpec":{"type":"object","description":"Spec of each nodes in the pool","properties":{"taints":{"type":"array","description":"Taints to apply to each nodes","items":{"$ref":"#/components/schemas/cloud.kube.Taint"}},"unschedulable":{"type":"boolean","description":"If true, set nodes as un-schedulable"}},"required":["taints","unschedulable"]},"cloud.kube.NodeStatusEnum":{"type":"string","description":"Enum values for Status","enum":["DELETED","DELETING","ERROR","FLAVOR_OUT_OF_STOCK_ERROR","INSTALLING","MAINTENANCE","READY","REDEPLOYING","REOPENING","RESETTING","SUSPENDED","SUSPENDING","UNKNOWN","UPDATING","USER_ERROR","USER_NODE_NOT_FOUND_ERROR","USER_NODE_SUSPENDED_SERVICE","USER_QUOTA_ERROR","USER_WEBHOOK_PREVENTING_OPERATIONS_ERROR"]},"cloud.kube.OpenIdConnect":{"type":"object","description":"Managed Kubernetes oidc integration","properties":{"caContent":{"type":"string","description":"Content of the certificate for the CA, in base64 format, that signed your identity provider's web certificate. Defaults to the host's root CAs.","nullable":true,"readOnly":true},"clientId":{"type":"string","description":"Client ID","readOnly":true},"groupsClaim":{"type":"array","description":"JWT claim to use as the user's group. If the claim is present it must be an array of strings.","nullable":true,"items":{"type":"string"},"readOnly":true},"groupsPrefix":{"type":"string","description":"Prefix prepended to group claims to prevent clashes with existing names (such as system: groups). For example, the value oidc: will create group names like oidc:engineering and oidc:infra.","nullable":true,"readOnly":true},"issuerUrl":{"type":"string","description":"Issuer URL","readOnly":true},"requiredClaim":{"type":"array","description":"key=value pairs that describe required claims in the ID Token. If set, the claims are verified to be present in the ID Token with a matching value.","nullable":true,"items":{"type":"string"},"readOnly":true},"signingAlgorithms":{"type":"array","description":"The signing algorithms accepted. Default is \"RS256\".","nullable":true,"items":{"$ref":"#/components/schemas/cloud.kube.OpenIdConnectSigningAlgorithmsEnum"},"readOnly":true},"usernameClaim":{"type":"string","description":"JWT claim to use as the user name. By default sub, which is expected to be a unique identifier of the end user. Admins can choose other claims, such as email or name, depending on their provider. However, claims other than email will be prefixed with the issuer URL to prevent naming clashes with other plugins.","nullable":true,"readOnly":true},"usernamePrefix":{"type":"string","description":"Prefix prepended to username claims to prevent clashes with existing names (such as system: users). For example, the value oidc: will create usernames like oidc:jane.doe. If this field isn't set and oidcUsernameClaim is a value other than email the prefix defaults to ( Issuer URL )# where ( Issuer URL ) is the value of oidcIssuerUrl. The value - can be used to disable all prefixing.","nullable":true,"readOnly":true}}},"cloud.kube.OpenIdConnectSigningAlgorithmsEnum":{"type":"string","description":"Enum values for OpenIdConnect signing algorithms","enum":["ES256","ES384","ES512","PS256","PS384","PS512","RS256","RS384","RS512"]},"cloud.kube.PrivateNetworkConfiguration":{"type":"object","description":"Managed Kubernetes cluster private networking configuration","properties":{"defaultVrackGateway":{"type":"string","description":"If defined, all egress traffic will be routed towards this IP address, which should belong to the private network. Empty string means disabled."},"privateNetworkRoutingAsDefault":{"type":"boolean","description":"Defines whether routing should default to using the nodes' private interface, instead of their public interface. Default is false.","nullable":true},"useUserGateway":{"type":"boolean","description":"When enabled, skips the prerequisite check for a router/gateway on the OpenStack subnet/network. By default (value false or not set), an OpenStack router/gateway is mandatory.","nullable":true}}},"cloud.kube.ResetWorkerNodesPolicyEnum":{"type":"string","description":"Enum values for worker nodes reset policy","enum":["delete","reinstall"]},"cloud.kube.ResponseMessage":{"type":"object","description":"A generic object for response message","properties":{"message":{"type":"string","description":"The response message.","readOnly":true}}},"cloud.kube.Taint":{"type":"object","description":"Kubernetes taint object","properties":{"effect":{"allOf":[{"$ref":"#/components/schemas/cloud.kube.TaintEffectEnum"}],"description":"The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute"},"key":{"type":"string","description":"The taint key to be applied to a node"},"value":{"type":"string","description":"The taint value corresponding to the taint key"}},"required":["effect","key","value"]},"cloud.kube.TaintEffectEnum":{"type":"string","description":"Enum values for taint effects","enum":["NoExecute","NoSchedule","PreferNoSchedule"]},"cloud.kube.UpdatePolicyEnum":{"type":"string","description":"Enum values for UpdatePolicy","enum":["ALWAYS_UPDATE","MINIMAL_DOWNTIME","NEVER_UPDATE"]},"cloud.kube.UpdateStrategyEnum":{"type":"string","description":"Enum values for UpdateStrategy","enum":["LATEST_PATCH","NEXT_MINOR"]},"cloud.kube.VersionEnum":{"type":"string","description":"List of available versions for installation","enum":["1.31","1.32","1.33","1.34","1.35"]},"cloud.loadbalancing.AssociateFloatingIp":{"type":"object","description":"Parameters to associate an existing floating IP to a loadbalancer","properties":{"floatingIpId":{"type":"string","description":"Floating IP ID","format":"uuid"},"gateway":{"allOf":[{"$ref":"#/components/schemas/cloud.network.CreateGatewaySummary"}],"description":"Parameters to create a gateway if required","nullable":true},"ip":{"allOf":[{"$ref":"#/components/schemas/ip"}],"description":"Private loadbalancer IP to associate the floating IP with"}},"required":["floatingIpId","ip"]},"cloud.loadbalancing.CreateFloatingIp":{"type":"object","description":"Parameters to create a floating IP for a loadbalancer","properties":{"gateway":{"allOf":[{"$ref":"#/components/schemas/cloud.network.CreateGatewaySummary"}],"description":"Parameters to create a gateway if required","nullable":true},"ip":{"allOf":[{"$ref":"#/components/schemas/ip"}],"description":"Private loadbalancer IP to associate the floating IP with"}},"required":["ip"]},"cloud.loadbalancing.CreateListener":{"type":"object","description":"Input to create a loadbalancer listener","properties":{"allowedCidrs":{"type":"array","description":"The allowed CIDRs","items":{"$ref":"#/components/schemas/ipv4Block"}},"certificateId":{"type":"string","description":"The ID of the secret containing the certificate","format":"uuid"},"defaultPoolId":{"type":"string","description":"The ID of the default pool","format":"uuid"},"description":{"type":"string","description":"The description of the listener"},"loadbalancerId":{"type":"string","description":"The ID of the loadbalancer","format":"uuid"},"name":{"type":"string","description":"The name of the listener"},"port":{"type":"integer","description":"Port to listen on"},"protocol":{"allOf":[{"$ref":"#/components/schemas/cloud.loadbalancing.ListenerProtocolEnum"}],"description":"Protocol of the listener"},"timeoutClientData":{"type":"integer","description":"Timeout client data of the listener"},"timeoutMemberData":{"type":"integer","description":"Timeout member data of the listener"},"tlsVersions":{"type":"array","description":"TLS versions of the listener","items":{"$ref":"#/components/schemas/cloud.loadbalancing.ListenerTlsVersionEnum"}}},"required":["loadbalancerId","name","port","protocol"]},"cloud.loadbalancing.EditListener":{"type":"object","description":"Edit a loadbalancer listener","properties":{"allowedCidrs":{"type":"array","description":"The allowed CIDRs","items":{"$ref":"#/components/schemas/ipv4Block"}},"certificateId":{"type":"string","description":"ID of the secret containing the certificate"},"defaultPoolId":{"type":"string","description":"ID of the default pool","format":"uuid"},"description":{"type":"string","description":"Description of the listener"},"name":{"type":"string","description":"Name of the listener"}}},"cloud.loadbalancing.Flavor":{"type":"object","description":"Flavor","properties":{"id":{"type":"string","description":"Flavor id","format":"uuid","readOnly":true},"name":{"type":"string","description":"Flavor name","readOnly":true},"region":{"type":"string","description":"Region name","readOnly":true}}},"cloud.loadbalancing.HealthMonitor":{"type":"object","description":"HealthMonitor","properties":{"delay":{"type":"integer","description":"Duration between sending probes to members, in seconds"},"httpConfiguration":{"allOf":[{"$ref":"#/components/schemas/cloud.loadbalancing.HealthMonitorHTTPConfiguration"}],"description":"Monitor HTTP configuration","nullable":true},"id":{"type":"string","description":"The ID of the pool","format":"uuid","readOnly":true},"maxRetries":{"type":"integer","description":"Number of successful checks before changing the operating status of the member to ONLINE"},"maxRetriesDown":{"type":"integer","description":"Number of allowed check failures before changing the operating status of the member to ERROR","nullable":true},"monitorType":{"allOf":[{"$ref":"#/components/schemas/cloud.loadbalancing.LoadBalancerHealthMonitorTypeEnum"}],"description":"Type of the monitor"},"name":{"type":"string","description":"The name of the resource"},"operatingStatus":{"allOf":[{"$ref":"#/components/schemas/cloud.loadbalancing.LoadBalancerOperatingStatusEnum"}],"description":"The operating status of the resource","readOnly":true},"poolId":{"type":"string","description":"The ID of the pool","format":"uuid"},"provisioningStatus":{"allOf":[{"$ref":"#/components/schemas/cloud.loadbalancing.LoadBalancerProvisioningStatusEnum"}],"description":"The provisioning status of the resource","readOnly":true},"timeout":{"type":"integer","description":"Maximum time, in seconds, that a monitor waits to connect before it times out. This value must be less than the delay value"}},"required":["delay","maxRetries","monitorType","name","poolId","timeout"]},"cloud.loadbalancing.HealthMonitorCreate":{"type":"object","description":"Create a health monitor on loadbalancer creation","properties":{"delay":{"type":"integer","description":"Duration between sending probes to members, in seconds"},"httpConfiguration":{"allOf":[{"$ref":"#/components/schemas/cloud.loadbalancing.HealthMonitorHTTPConfiguration"}],"description":"Monitor HTTP configuration","nullable":true},"maxRetries":{"type":"integer","description":"Number of successful checks before changing the operating status of the member to ONLINE"},"maxRetriesDown":{"type":"integer","description":"Number of allowed check failures before changing the operating status of the member to ERROR","nullable":true},"monitorType":{"allOf":[{"$ref":"#/components/schemas/cloud.loadbalancing.LoadBalancerHealthMonitorTypeEnum"}],"description":"Type of the monitor"},"name":{"type":"string","description":"The name of the resource"},"operatingStatus":{"allOf":[{"$ref":"#/components/schemas/cloud.loadbalancing.LoadBalancerOperatingStatusEnum"}],"description":"The operating status of the resource","readOnly":true},"provisioningStatus":{"allOf":[{"$ref":"#/components/schemas/cloud.loadbalancing.LoadBalancerProvisioningStatusEnum"}],"description":"The provisioning status of the resource","readOnly":true},"timeout":{"type":"integer","description":"Maximum time, in seconds, that a monitor waits to connect before it times out. This value must be less than the delay value"}},"required":["delay","maxRetries","monitorType","name","timeout"]},"cloud.loadbalancing.HealthMonitorHTTPConfiguration":{"type":"object","description":"HTTP configuration for loadbalancer health monitor","properties":{"domainName":{"type":"string","description":"Domain name, which be injected into the HTTP Host Header to the backend server for HTTP health check"},"expectedCodes":{"type":"string","description":"Status codes expected in response from the member to declare it healthy; The list of HTTP status codes expected in response from the member to declare it healthy. Specify one of the following values: * A single value, such as 200; * A list, such as 200, 202; * A range, such as 200-204"},"httpMethod":{"allOf":[{"$ref":"#/components/schemas/cloud.loadbalancing.LoadBalancerHealthMonitorHTTPMethodEnum"}],"description":"HTTP method that the health monitor uses for requests"},"httpVersion":{"allOf":[{"$ref":"#/components/schemas/cloud.loadbalancing.LoadBalancerHealthMonitorHTTPVersionEnum"}],"description":"HTTP version that the health monitor uses for requests","nullable":true},"urlPath":{"type":"string","description":"HTTP URL path of the request sent by the monitor to test the health of a backend member"}},"required":["httpMethod"]},"cloud.loadbalancing.L7Policy":{"type":"object","description":"L7 policy","properties":{"action":{"allOf":[{"$ref":"#/components/schemas/cloud.loadbalancing.L7PolicyActionEnum"}],"description":"The L7 policy action"},"description":{"type":"string","description":"A human-readable description for the resource"},"id":{"type":"string","format":"uuid","readOnly":true},"listenerId":{"type":"string","description":"The ID of the listener.","format":"uuid"},"name":{"type":"string","description":"Human-readable name of the resource"},"operatingStatus":{"allOf":[{"$ref":"#/components/schemas/cloud.loadbalancing.LoadBalancerOperatingStatusEnum"}],"description":"Operating status of the resource","readOnly":true},"position":{"type":"integer","description":"The position of this policy on the listener. Positions start at 1"},"provisioningStatus":{"allOf":[{"$ref":"#/components/schemas/cloud.loadbalancing.LoadBalancerProvisioningStatusEnum"}],"description":"provisioning status of the resource","readOnly":true},"redirectHttpCode":{"allOf":[{"$ref":"#/components/schemas/cloud.loadbalancing.L7PolicyRedirectHTTPCodeEnum"}],"description":"Requests matching this policy will be redirected to the specified URL or Prefix URL with the HTTP response code. Valid if action is \"redirect_to\" or \"redirect_prefix\"","nullable":true},"redirectPoolId":{"type":"string","description":"Requests matching this policy will be redirected to the pool with this ID. Only valid if action is \"redirect_to_pool\"","nullable":true,"format":"uuid"},"redirectPrefix":{"type":"string","description":"Requests matching this policy will be redirected to this Prefix URL. Only valid if action is \"redirect_prefix\"","nullable":true},"redirectUrl":{"type":"string","description":"Requests matching this policy will be redirected to this URL. Only valid if action is \"redirect_to_url\"","nullable":true}},"required":["action","listenerId"]},"cloud.loadbalancing.L7PolicyActionEnum":{"type":"string","description":"Loadbalancer L7 policy","enum":["redirectPrefix","redirectToPool","redirectToURL","reject"]},"cloud.loadbalancing.L7PolicyRedirectHTTPCodeEnum":{"type":"integer","description":"Loadbalancer L7 policy redirect HTTP code","enum":[301,302,303,307,308]},"cloud.loadbalancing.L7PolicyUpdate":{"type":"object","description":"L7 policy","properties":{"action":{"allOf":[{"$ref":"#/components/schemas/cloud.loadbalancing.L7PolicyActionEnum"}],"description":"The L7 policy action"},"description":{"type":"string","description":"A human-readable description for the resource"},"listenerId":{"type":"string","description":"The ID of the listener.","format":"uuid"},"name":{"type":"string","description":"Human-readable name of the resource"},"position":{"type":"integer","description":"The position of this policy on the listener. Positions start at 1"},"redirectHttpCode":{"type":"integer","description":"Requests matching this policy will be redirected to the specified URL or Prefix URL with the HTTP response code. Valid if action is \"redirect_to\" or \"redirect_prefix\"","nullable":true},"redirectPoolId":{"type":"string","description":"Requests matching this policy will be redirected to the pool with this ID. Only valid if action is \"redirect_to_pool\"","nullable":true,"format":"uuid"},"redirectPrefix":{"type":"string","description":"Requests matching this policy will be redirected to this Prefix URL. Only valid if action is \"redirect_prefix\"","nullable":true},"redirectUrl":{"type":"string","description":"Requests matching this policy will be redirected to this URL. Only valid if action is \"redirect_to_url\"","nullable":true}},"required":["action"]},"cloud.loadbalancing.L7Rule":{"type":"object","description":"L7 rule","properties":{"compareType":{"allOf":[{"$ref":"#/components/schemas/cloud.loadbalancing.L7RuleCompareTypeEnum"}],"description":"The comparison type for the L7 rule"},"id":{"type":"string","description":"The ID of the L7 rule","format":"uuid","readOnly":true},"invert":{"type":"boolean","description":"When true the logic of the rule is inverted. For example, with invert set to true, equal to would become not equal to"},"key":{"type":"string","description":"The key to use for the comparison. For example, the name of the cookie to evaluate"},"operatingStatus":{"allOf":[{"$ref":"#/components/schemas/cloud.loadbalancing.LoadBalancerOperatingStatusEnum"}],"description":"Operating status of the resource","readOnly":true},"provisioningStatus":{"allOf":[{"$ref":"#/components/schemas/cloud.loadbalancing.LoadBalancerProvisioningStatusEnum"}],"description":"provisioning status of the resource","readOnly":true},"ruleType":{"allOf":[{"$ref":"#/components/schemas/cloud.loadbalancing.L7RuleTypeEnum"}],"description":"The L7 rule type"},"value":{"type":"string","description":"The value to use for the comparison. For example, the file type to compare"}},"required":["compareType","ruleType","value"]},"cloud.loadbalancing.L7RuleCompareTypeEnum":{"type":"string","description":"Loadbalancer L7 rule compare type","enum":["contains","endsWith","equalTo","regex","startsWith"]},"cloud.loadbalancing.L7RuleTypeEnum":{"type":"string","description":"Loadbalancer L7 rule type","enum":["cookie","fileType","header","hostName","path","sslConnHasCert","sslDNField","sslVerifyResult"]},"cloud.loadbalancing.Listener":{"type":"object","description":"Listener","properties":{"allowedCidrs":{"type":"array","description":"The allowed CIDRs","nullable":true,"items":{"$ref":"#/components/schemas/ipv4Block"},"readOnly":true},"certificateId":{"type":"string","description":"The ID of the secret containing the certificate","nullable":true,"format":"uuid","readOnly":true},"defaultPoolId":{"type":"string","description":"The ID of the default pool","nullable":true,"format":"uuid","readOnly":true},"description":{"type":"string","description":"Description of the listener","nullable":true,"readOnly":true},"id":{"type":"string","description":"ID of the resource","format":"uuid","readOnly":true},"loadBalancerIds":{"type":"array","description":"A list of load balancer IDs","items":{"type":"string","format":"uuid"},"readOnly":true},"name":{"type":"string","description":"Name of the resource","readOnly":true},"operatingStatus":{"allOf":[{"$ref":"#/components/schemas/cloud.loadbalancing.LoadBalancerOperatingStatusEnum"}],"description":"Operating status of the listener","readOnly":true},"port":{"type":"integer","description":"Port to listen on","readOnly":true},"protocol":{"allOf":[{"$ref":"#/components/schemas/cloud.loadbalancing.ListenerProtocolEnum"}],"description":"Protocol of the listener","readOnly":true},"provisioningStatus":{"allOf":[{"$ref":"#/components/schemas/cloud.loadbalancing.LoadBalancerProvisioningStatusEnum"}],"description":"Provisioning status of the listener","readOnly":true},"timeoutClientData":{"type":"integer","description":"Timeout client data of the listener","nullable":true,"readOnly":true},"timeoutMemberData":{"type":"integer","description":"Timeout member data of the listener","nullable":true,"readOnly":true},"tlsVersions":{"type":"array","description":"TLS versions of the listener","nullable":true,"items":{"$ref":"#/components/schemas/cloud.loadbalancing.ListenerTlsVersionEnum"},"readOnly":true}}},"cloud.loadbalancing.ListenerProtocolEnum":{"type":"string","description":"Loadbalancer listener protocol","enum":["http","https","prometheus","sctp","tcp","terminatedHTTPS","udp"]},"cloud.loadbalancing.ListenerTlsVersionEnum":{"type":"string","description":"Loadbalancer listener TLS versions","enum":["SSLv3","TLSv1","TLSv1.1","TLSv1.2","TLSv1.3"]},"cloud.loadbalancing.LoadBalancer":{"type":"object","description":"LoadBalancer","properties":{"createdAt":{"type":"string","description":"The UTC date and timestamp when the resource was created","format":"date-time","readOnly":true},"flavorId":{"type":"string","description":"ID of the flavor","format":"uuid","readOnly":true},"floatingIp":{"allOf":[{"$ref":"#/components/schemas/cloud.loadbalancing.LoadBalancer.FloatingIp"}],"description":"Information about floating IP","nullable":true,"readOnly":true},"id":{"type":"string","description":"ID of the resource","format":"uuid","readOnly":true},"name":{"type":"string","description":"Name of the resource","readOnly":true},"operatingStatus":{"allOf":[{"$ref":"#/components/schemas/cloud.loadbalancing.LoadBalancerOperatingStatusEnum"}],"description":"Operating status of the resource","readOnly":true},"provisioningStatus":{"allOf":[{"$ref":"#/components/schemas/cloud.loadbalancing.LoadBalancerProvisioningStatusEnum"}],"description":"Provisioning status of the resource","readOnly":true},"region":{"type":"string","description":"Region of the resource","readOnly":true},"updatedAt":{"type":"string","description":"UTC date and timestamp when the resource was created","format":"date-time","readOnly":true},"vipAddress":{"allOf":[{"$ref":"#/components/schemas/ip"}],"description":"IP address of the Virtual IP","readOnly":true},"vipNetworkId":{"type":"string","description":"Openstack ID of the network for the Virtual IP","format":"uuid","readOnly":true},"vipSubnetId":{"type":"string","description":"ID of the subnet for the Virtual IP","format":"uuid","readOnly":true}}},"cloud.loadbalancing.LoadBalancer.FloatingIp":{"type":"object","description":"LoadBalancerFloatingIp","properties":{"id":{"type":"string","description":"ID of the resource","format":"uuid","readOnly":true},"ip":{"allOf":[{"$ref":"#/components/schemas/ip"}],"description":"IP Address of the resource","readOnly":true}}},"cloud.loadbalancing.LoadBalancerHealthMonitorHTTPMethodEnum":{"type":"string","description":"Load balancer Healthmonitor HTTP Method","enum":["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"]},"cloud.loadbalancing.LoadBalancerHealthMonitorHTTPVersionEnum":{"type":"string","description":"Load balancer Healthmonitor HTTP Version","enum":["1.0","1.1"]},"cloud.loadbalancing.LoadBalancerHealthMonitorTypeEnum":{"type":"string","description":"Load balancer Healthmonitor type","enum":["http","https","ping","sctp","tcp","tls-hello","udp-connect"]},"cloud.loadbalancing.LoadBalancerOperatingStatusEnum":{"type":"string","description":"Load balancer operating status","enum":["degraded","draining","error","noMonitor","offline","online"]},"cloud.loadbalancing.LoadBalancerProvisioningStatusEnum":{"type":"string","description":"Load balancer provisioning status","enum":["active","creating","deleted","deleting","error","updating"]},"cloud.loadbalancing.LoadBalancerUpdateResult":{"type":"object","description":"Result of a LoadBalancer update","properties":{"createdAt":{"type":"string","description":"The UTC date and timestamp when the resource was created","format":"date-time","readOnly":true},"flavorId":{"type":"string","description":"ID of the flavor","format":"uuid","readOnly":true},"floatingIp":{"allOf":[{"$ref":"#/components/schemas/cloud.loadbalancing.LoadBalancer.FloatingIp"}],"description":"Information about floating IP","nullable":true,"readOnly":true},"id":{"type":"string","description":"ID of the resource","format":"uuid","readOnly":true},"name":{"type":"string","description":"Name of the resource","readOnly":true},"operatingStatus":{"allOf":[{"$ref":"#/components/schemas/cloud.loadbalancing.LoadBalancerOperatingStatusEnum"}],"description":"Operating status of the resource","readOnly":true},"operationId":{"type":"string","description":"Id of pending public cloud operation","nullable":true,"readOnly":true},"provisioningStatus":{"allOf":[{"$ref":"#/components/schemas/cloud.loadbalancing.LoadBalancerProvisioningStatusEnum"}],"description":"Provisioning status of the resource","readOnly":true},"region":{"type":"string","description":"Region of the resource","readOnly":true},"updatedAt":{"type":"string","description":"UTC date and timestamp when the resource was created","format":"date-time","readOnly":true},"vipAddress":{"allOf":[{"$ref":"#/components/schemas/ip"}],"description":"IP address of the Virtual IP","readOnly":true},"vipNetworkId":{"type":"string","description":"Openstack ID of the network for the Virtual IP","format":"uuid","readOnly":true},"vipSubnetId":{"type":"string","description":"ID of the subnet for the Virtual IP","format":"uuid","readOnly":true}}},"cloud.loadbalancing.Loadbalancer.CreateInput":{"type":"object","description":"Create a loadbalancer","properties":{"flavorId":{"type":"string","description":"Loadbalancer flavor id","format":"uuid"},"listeners":{"type":"array","description":"Listeners to create with the loadbalancer","items":{"$ref":"#/components/schemas/cloud.loadbalancing.loadbalancer.ListenerCreate"}},"name":{"type":"string","description":"Name of the member"},"network":{"allOf":[{"$ref":"#/components/schemas/cloud.loadbalancing.loadbalancer.CreateInput.Network"}],"description":"Network information to create the loadbalancer"}},"required":["flavorId","network"]},"cloud.loadbalancing.LoadbalancerEdit":{"type":"object","description":"Edit a loadbalancer","properties":{"description":{"type":"string","description":"Description of the loadbalancer"},"flavorId":{"type":"string","description":"Loadbalancer new flavor id","format":"uuid"},"name":{"type":"string","description":"Name of the member"}}},"cloud.loadbalancing.Pool":{"type":"object","description":"Pool","properties":{"algorithm":{"allOf":[{"$ref":"#/components/schemas/cloud.loadbalancing.PoolAlgorithmEnum"}],"description":"Algorithm of the pool","readOnly":true},"id":{"type":"string","description":"ID of the resource","format":"uuid","readOnly":true},"listenerId":{"type":"string","description":"ID of the listener","nullable":true,"format":"uuid","readOnly":true},"loadbalancerId":{"type":"string","description":"ID of the loadbalancer","format":"uuid","readOnly":true},"name":{"type":"string","description":"Name of the resource","readOnly":true},"operatingStatus":{"allOf":[{"$ref":"#/components/schemas/cloud.loadbalancing.LoadBalancerOperatingStatusEnum"}],"description":"Operating status of the resource","readOnly":true},"protocol":{"allOf":[{"$ref":"#/components/schemas/cloud.loadbalancing.PoolProtocolEnum"}],"description":"Protocol of the pool","readOnly":true},"provisioningStatus":{"allOf":[{"$ref":"#/components/schemas/cloud.loadbalancing.LoadBalancerProvisioningStatusEnum"}],"description":"Provisioning status of the resource","readOnly":true},"sessionPersistence":{"allOf":[{"$ref":"#/components/schemas/cloud.loadbalancing.PoolSessionPersistence"}],"description":"Information about session persistence","nullable":true,"readOnly":true}}},"cloud.loadbalancing.PoolAlgorithmEnum":{"type":"string","description":"Pool algorithm","enum":["leastConnections","roundRobin","sourceIP"]},"cloud.loadbalancing.PoolCreate":{"type":"object","description":"Pool","properties":{"algorithm":{"allOf":[{"$ref":"#/components/schemas/cloud.loadbalancing.PoolAlgorithmEnum"}],"description":"Algorithm of the pool"},"listenerId":{"type":"string","description":"ID of the listener","format":"uuid"},"loadbalancerId":{"type":"string","description":"ID of the loadbalancer","format":"uuid"},"name":{"type":"string","description":"Name of the resource"},"protocol":{"allOf":[{"$ref":"#/components/schemas/cloud.loadbalancing.PoolProtocolEnum"}],"description":"Protocol of the pool"},"sessionPersistence":{"allOf":[{"$ref":"#/components/schemas/cloud.loadbalancing.PoolSessionPersistence"}],"description":"Information about session persistence","nullable":true}},"required":["algorithm","protocol"]},"cloud.loadbalancing.PoolProtocolEnum":{"type":"string","description":"Pool protocol","enum":["http","https","proxy","proxyV2","sctp","tcp","udp"]},"cloud.loadbalancing.PoolSessionPersistence":{"type":"object","description":"PoolSessionPersistence","properties":{"cookieName":{"type":"string","description":"Cookie name, only applicable to session persistence through cookie"},"type":{"allOf":[{"$ref":"#/components/schemas/cloud.loadbalancing.PoolSessionPersistenceTypeEnum"}],"description":"Type of session persistence"}}},"cloud.loadbalancing.PoolSessionPersistenceTypeEnum":{"type":"string","description":"Pool session persistence type","enum":["appCookie","disabled","httpCookie","sourceIP"]},"cloud.loadbalancing.PoolUpdate":{"type":"object","description":"Parameters to update a load balancer pool","properties":{"algorithm":{"allOf":[{"$ref":"#/components/schemas/cloud.loadbalancing.PoolAlgorithmEnum"}],"description":"Algorithm of the pool","nullable":true},"name":{"type":"string","description":"Name of the resource","nullable":true},"sessionPersistence":{"allOf":[{"$ref":"#/components/schemas/cloud.loadbalancing.PoolSessionPersistence"}],"nullable":true}}},"cloud.loadbalancing.UpdateHealthMonitor":{"type":"object","description":"Health monitor for LoadBalancer","properties":{"delay":{"type":"integer","description":"Duration between sending probes to members, in seconds"},"httpConfiguration":{"allOf":[{"$ref":"#/components/schemas/cloud.loadbalancing.HealthMonitorHTTPConfiguration"}],"description":"Monitor HTTP configuration"},"maxRetries":{"type":"integer","description":"Number of successful checks before changing the operating status of the member to ONLINE"},"maxRetriesDown":{"type":"integer","description":"Number of allowed check failures before changing the operating status of the member to ERROR"},"name":{"type":"string","description":"The name of the resource"},"timeout":{"type":"integer","description":"Maximum time, in seconds, that a monitor waits to connect before it times out. This value must be less than the delay value"}}},"cloud.loadbalancing.loadbalancer.CreateInput.Network":{"type":"object","description":"Network information to create a loadbalancer","properties":{"private":{"allOf":[{"$ref":"#/components/schemas/cloud.loadbalancing.loadbalancer.CreateInput.Network.Private"}],"description":"Information to private network"}},"required":["private"]},"cloud.loadbalancing.loadbalancer.CreateInput.Network.Private":{"type":"object","description":"Network information to create a loadbalancer","properties":{"floatingIp":{"allOf":[{"$ref":"#/components/schemas/cloud.loadbalancing.loadbalancer.CreateInput.Network.Private.FloatingIp"}],"description":"Floating IP to associate"},"floatingIpCreate":{"allOf":[{"$ref":"#/components/schemas/cloud.loadbalancing.loadbalancer.CreateInput.Network.Private.FloatingIpCreate"}],"description":"Floating IP to create"},"gateway":{"allOf":[{"$ref":"#/components/schemas/cloud.loadbalancing.loadbalancer.CreateInput.Network.Private.Gateway"}],"description":"Gateway to associate"},"gatewayCreate":{"allOf":[{"$ref":"#/components/schemas/cloud.loadbalancing.loadbalancer.CreateInput.Network.Private.GatewayCreate"}],"description":"Gateway to create"},"network":{"allOf":[{"$ref":"#/components/schemas/cloud.loadbalancing.loadbalancer.CreateInput.Network.Private.Network"}],"description":"Network to associate"}},"required":["network"]},"cloud.loadbalancing.loadbalancer.CreateInput.Network.Private.FloatingIp":{"type":"object","description":"Information to attach floatingIp","properties":{"id":{"type":"string","description":"ID of the floatingIp","format":"uuid"}},"required":["id"]},"cloud.loadbalancing.loadbalancer.CreateInput.Network.Private.FloatingIpCreate":{"type":"object","description":"Information to create floatingIp","properties":{"description":{"type":"string","description":"Description for the floatingIp"}},"required":["description"]},"cloud.loadbalancing.loadbalancer.CreateInput.Network.Private.Gateway":{"type":"object","description":"Information to attach Gateway","properties":{"id":{"type":"string","description":"ID of the gateway","format":"uuid"}},"required":["id"]},"cloud.loadbalancing.loadbalancer.CreateInput.Network.Private.GatewayCreate":{"type":"object","description":"Information to create a Gateway","properties":{"model":{"allOf":[{"$ref":"#/components/schemas/cloud.network.GatewayModelEnum"}],"description":"Model of the gateway"},"name":{"type":"string","description":"Name of the gateway"}},"required":["model","name"]},"cloud.loadbalancing.loadbalancer.CreateInput.Network.Private.Network":{"type":"object","description":"Network information to associate a network","properties":{"id":{"type":"string","description":"Private network ID","format":"uuid"},"subnetId":{"type":"string","description":"Subnet ID","format":"uuid"}},"required":["id","subnetId"]},"cloud.loadbalancing.loadbalancer.ListenerCreate":{"type":"object","description":"Create a listener on loadbalancer creation","properties":{"allowedCidrs":{"type":"array","description":"The allowed CIDRs","items":{"$ref":"#/components/schemas/ipv4Block"}},"description":{"type":"string","description":"The description of the listener"},"name":{"type":"string","description":"Name of the listener"},"pool":{"allOf":[{"$ref":"#/components/schemas/cloud.loadbalancing.loadbalancer.PoolCreate"}],"description":"Listener pool"},"port":{"type":"integer","description":"Listener port"},"protocol":{"allOf":[{"$ref":"#/components/schemas/cloud.loadbalancing.ListenerProtocolEnum"}],"description":"Protocol for the listener"},"secretId":{"type":"string","description":"Secret ID to get certificate for SSL listener creation","format":"uuid"},"timeoutClientData":{"type":"integer","description":"Timeout client data of the listener"},"timeoutMemberData":{"type":"integer","description":"Timeout member data of the listener"},"tlsVersions":{"type":"array","description":"TLS versions of the listener","items":{"$ref":"#/components/schemas/cloud.loadbalancing.ListenerTlsVersionEnum"}}},"required":["port","protocol"]},"cloud.loadbalancing.loadbalancer.MemberCreate":{"type":"object","description":"Create a member on loadbalancer creation","properties":{"address":{"allOf":[{"$ref":"#/components/schemas/ip"}],"description":"IP address of the resource"},"name":{"type":"string","description":"Name of the member"},"protocolPort":{"type":"integer","description":"Protocol port number for the resource"},"weight":{"type":"integer","description":"Weight of a member determines the portion of requests or connections it services compared to the other members of the pool. Between 1 and 256.","nullable":true}},"required":["address","protocolPort"]},"cloud.loadbalancing.loadbalancer.PoolCreate":{"type":"object","description":"Create a pool on loadbalancer creation","properties":{"algorithm":{"allOf":[{"$ref":"#/components/schemas/cloud.loadbalancing.PoolAlgorithmEnum"}],"description":"Pool algorithm to split traffic between members"},"healthMonitor":{"allOf":[{"$ref":"#/components/schemas/cloud.loadbalancing.HealthMonitorCreate"}],"description":"Pool health monitor","nullable":true},"members":{"type":"array","description":"Pool members","items":{"$ref":"#/components/schemas/cloud.loadbalancing.loadbalancer.MemberCreate"}},"name":{"type":"string","description":"Name of the pool"},"protocol":{"allOf":[{"$ref":"#/components/schemas/cloud.loadbalancing.PoolProtocolEnum"}],"description":"Protocol for the pool"},"sessionPersistence":{"allOf":[{"$ref":"#/components/schemas/cloud.loadbalancing.PoolSessionPersistence"}],"description":"Pool session persistence"}},"required":["algorithm","protocol"]},"cloud.loadbalancing.loadbalancer.Stats":{"type":"object","description":"Loadbalancer statistics","properties":{"activeConnections":{"type":"integer","description":"Number of currently active connections","readOnly":true},"bytesIn":{"type":"integer","description":"Total bytes received","readOnly":true},"bytesOut":{"type":"integer","description":"Total bytes sent","readOnly":true},"requestErrors":{"type":"integer","description":"Total requests that were unable to be fulfilled","readOnly":true},"totalConnections":{"type":"integer","description":"Total connections handled","readOnly":true}}},"cloud.loadbalancing.pool.CreateMembers":{"type":"object","description":"Pool Members","properties":{"members":{"type":"array","description":"Members of a pool","items":{"$ref":"#/components/schemas/cloud.loadbalancing.pool.Member"}}},"required":["members"]},"cloud.loadbalancing.pool.Member":{"type":"object","description":"Member","properties":{"address":{"allOf":[{"$ref":"#/components/schemas/ip"}],"description":"IP address of the resource"},"id":{"type":"string","description":"ID of the resource","format":"uuid","readOnly":true},"name":{"type":"string","description":"Name of the resource"},"operatingStatus":{"allOf":[{"$ref":"#/components/schemas/cloud.loadbalancing.LoadBalancerOperatingStatusEnum"}],"description":"Operating status of the resource","readOnly":true},"protocolPort":{"type":"integer","description":"Protocol port number for the resource"},"provisioningStatus":{"allOf":[{"$ref":"#/components/schemas/cloud.loadbalancing.LoadBalancerProvisioningStatusEnum"}],"description":"Provisioning status of the resource","readOnly":true},"weight":{"type":"integer","description":"Weight of a member determines the portion of requests or connections it services compared to the other members of the pool","nullable":true}},"required":["address","protocolPort"]},"cloud.loadbalancing.pool.MemberUpdate":{"type":"object","description":"Parameters to update a pool member","properties":{"name":{"type":"string","description":"Name of the resource","nullable":true},"weight":{"type":"integer","description":"Weight of a member determines the portion of requests or connections it services compared to the other members of the pool","nullable":true}}},"cloud.network.CreateGateway":{"type":"object","description":"Input to create a gateway","properties":{"model":{"allOf":[{"$ref":"#/components/schemas/cloud.network.GatewayModelEnum"}],"description":"Model of the gateway"},"name":{"type":"string","description":"Name of the gateway"},"network":{"allOf":[{"$ref":"#/components/schemas/cloud.network.CreateNetworkForGatewaySummary"}],"description":"Information to create the network for the gateway"}},"required":["model","name","network"]},"cloud.network.CreateGatewaySummary":{"type":"object","description":"Parameters to create a gateway from another resource creation","properties":{"model":{"allOf":[{"$ref":"#/components/schemas/cloud.network.GatewayModelEnum"}],"description":"Model of the gateway"},"name":{"type":"string","description":"Gateway name"}},"required":["model","name"]},"cloud.network.CreateNetwork":{"type":"object","description":"Parameters to create a network with a gateway","properties":{"gateway":{"allOf":[{"$ref":"#/components/schemas/cloud.network.CreateGatewaySummary"}],"nullable":true},"name":{"type":"string","description":"Network name"},"subnet":{"allOf":[{"$ref":"#/components/schemas/cloud.network.CreateSubnetSummary"}],"nullable":true},"vlanId":{"type":"integer","description":"VLAN id, between 1 and 4095"}},"required":["name"]},"cloud.network.CreateNetworkForGatewaySummary":{"type":"object","description":"Parameters to create a network from another resource creation","properties":{"name":{"type":"string","description":"Name of the network"},"subnet":{"allOf":[{"$ref":"#/components/schemas/cloud.network.CreateSubnetForGatewaySummary"}],"description":"Subnet of the network"},"vlanId":{"type":"integer","description":"VLAN id, between 1 and 4095"}},"required":["name","subnet"]},"cloud.network.CreateSubnet":{"type":"object","description":"Parameters to create a subnet","properties":{"allocationPools":{"type":"array","description":"List of ip pools allocated in subnet","items":{"$ref":"#/components/schemas/cloud.project.AllocationPool"}},"cidr":{"allOf":[{"$ref":"#/components/schemas/ipBlock"}],"description":"Subnet range in CIDR notation"},"dnsNameServers":{"type":"array","description":"DNS nameservers","items":{"$ref":"#/components/schemas/ip"}},"enableDhcp":{"type":"boolean","description":"Enable DHCP for the subnet"},"enableGatewayIp":{"type":"boolean","description":"Set a gateway IP for the subnet"},"gatewayIp":{"allOf":[{"$ref":"#/components/schemas/ip"}],"description":"Gateway IP"},"hostRoutes":{"type":"array","description":"Host routes","items":{"$ref":"#/components/schemas/cloud.network.HostRoute"}},"ipVersion":{"type":"integer","description":"IP version"},"name":{"type":"string","description":"Subnet name"},"useDefaultPublicDNSResolver":{"type":"boolean","description":"Use default DNS","nullable":true}},"required":["cidr","enableDhcp","enableGatewayIp","ipVersion","name"]},"cloud.network.CreateSubnetForGatewaySummary":{"type":"object","description":"Parameters to create a subnet from another resource creation","properties":{"allocationPools":{"type":"array","description":"List of ip pools allocated in subnet","items":{"$ref":"#/components/schemas/cloud.project.AllocationPool"}},"cidr":{"allOf":[{"$ref":"#/components/schemas/ipBlock"}],"description":"Subnet range in CIDR notation"},"dnsNameServers":{"type":"array","description":"DNS nameservers","items":{"$ref":"#/components/schemas/ip"}},"enableDhcp":{"type":"boolean","description":"Enable DHCP for the subnet"},"gatewayIp":{"allOf":[{"$ref":"#/components/schemas/ip"}],"description":"Gateway IP"},"hostRoutes":{"type":"array","description":"Host routes","items":{"$ref":"#/components/schemas/cloud.network.HostRoute"}},"ipVersion":{"type":"integer","description":"IP version"},"name":{"type":"string","description":"Subnet name"},"useDefaultPublicDNSResolver":{"type":"boolean","description":"Use default DNS","nullable":true}},"required":["cidr","enableDhcp","ipVersion"]},"cloud.network.CreateSubnetSummary":{"type":"object","description":"Parameters to create a subnet from another resource creation","properties":{"allocationPools":{"type":"array","description":"List of ip pools allocated in subnet","items":{"$ref":"#/components/schemas/cloud.project.AllocationPool"}},"cidr":{"allOf":[{"$ref":"#/components/schemas/ipBlock"}],"description":"Subnet range in CIDR notation"},"dnsNameServers":{"type":"array","description":"DNS nameservers","items":{"$ref":"#/components/schemas/ip"}},"enableDhcp":{"type":"boolean","description":"Enable DHCP for the subnet"},"enableGatewayIp":{"type":"boolean","description":"Set a gateway ip for the subnet"},"gatewayIp":{"allOf":[{"$ref":"#/components/schemas/ip"}],"description":"Gateway IP"},"hostRoutes":{"type":"array","description":"Host routes","items":{"$ref":"#/components/schemas/cloud.network.HostRoute"}},"ipVersion":{"type":"integer","description":"IP version"},"name":{"type":"string","description":"Subnet name"},"useDefaultPublicDNSResolver":{"type":"boolean","description":"Use default DNS","nullable":true}},"required":["cidr","enableDhcp","enableGatewayIp","ipVersion"]},"cloud.network.Gateway":{"type":"object","description":"Gateway","properties":{"externalInformation":{"allOf":[{"$ref":"#/components/schemas/cloud.network.gateway.ExternalInformation"}],"description":"External information","nullable":true,"readOnly":true},"id":{"type":"string","description":"ID of the gateway","format":"uuid","readOnly":true},"interfaces":{"type":"array","description":"Interfaces list of the gateway","items":{"$ref":"#/components/schemas/cloud.network.gateway.Interface"},"readOnly":true},"model":{"allOf":[{"$ref":"#/components/schemas/cloud.network.GatewayModelEnum"}],"description":"Model of the gateway","readOnly":true},"name":{"type":"string","description":"Name of the gateway","readOnly":true},"region":{"type":"string","description":"Gateway region","readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.network.GatewayStatusEnum"}],"description":"Status of the gateway","readOnly":true},"type":{"allOf":[{"$ref":"#/components/schemas/cloud.project.gateway.TypeEnum"}],"description":"Type fo the gateway","readOnly":true}}},"cloud.network.GatewayModelEnum":{"type":"string","description":"GatewayModelEnum","enum":["2xl","3xl","l","m","s","xl"]},"cloud.network.GatewayStatusEnum":{"type":"string","description":"GatewayStatusEnum","enum":["active","building","down","error"]},"cloud.network.HostRoute":{"type":"object","description":"HostRoute","properties":{"destination":{"allOf":[{"$ref":"#/components/schemas/ipBlock"}],"description":"Host route destination (eg: 192.168.1.0/24)"},"nextHop":{"allOf":[{"$ref":"#/components/schemas/ip"}],"description":"Host route next hop (eg: 192.168.1.254)"}}},"cloud.network.IPPool":{"type":"object","description":"IPPool","properties":{"dhcp":{"type":"boolean","description":"Enable DHCP","readOnly":true},"end":{"allOf":[{"$ref":"#/components/schemas/ip"}],"description":"Last IP for this region (eg: 192.168.1.24)","readOnly":true},"network":{"allOf":[{"$ref":"#/components/schemas/ipBlock"}],"description":"Global network with cidr (eg: 192.168.1.0/24)","readOnly":true},"region":{"type":"string","description":"Region where this subnet will be created","readOnly":true},"start":{"allOf":[{"$ref":"#/components/schemas/ip"}],"description":"First IP for this region (eg: 192.168.1.12)","readOnly":true}}},"cloud.network.Network":{"type":"object","description":"Network","properties":{"id":{"type":"string","description":"Network id","readOnly":true},"name":{"type":"string","description":"Network name","readOnly":true},"regions":{"type":"array","description":"Details about private network in region","items":{"$ref":"#/components/schemas/cloud.network.NetworkRegion"},"readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.network.NetworkStatusEnum"}],"description":"Network status","readOnly":true},"type":{"allOf":[{"$ref":"#/components/schemas/cloud.network.NetworkTypeEnum"}],"description":"Network type","nullable":true,"readOnly":true},"vlanId":{"type":"integer","description":"Network VLAN id","readOnly":true}}},"cloud.network.NetworkRegion":{"type":"object","description":"NetworkRegion","properties":{"openstackId":{"type":"string","description":"Network id on openstack region","nullable":true,"readOnly":true},"region":{"type":"string","description":"Network region","readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.network.NetworkRegionStatusEnum"}],"description":"Network region status","readOnly":true}}},"cloud.network.NetworkRegionStatusEnum":{"type":"string","description":"NetworkRegionStatusEnum","enum":["ACTIVE","BUILDING"]},"cloud.network.NetworkStatusEnum":{"type":"string","description":"NetworkStatusEnum","enum":["ACTIVE","BUILDING","DELETING","ERROR"]},"cloud.network.NetworkTypeEnum":{"type":"string","description":"NetworkTypeEnum","enum":["private","public"]},"cloud.network.NetworkVisibilityEnum":{"type":"string","description":"NetworkVisibilityEnum","enum":["private","public"]},"cloud.network.Subnet":{"type":"object","description":"Subnet","properties":{"cidr":{"allOf":[{"$ref":"#/components/schemas/ipBlock"}],"description":"Subnet CIDR","readOnly":true},"dhcpEnabled":{"type":"boolean","description":"Is DHCP enabled for the subnet","readOnly":true},"gatewayIp":{"allOf":[{"$ref":"#/components/schemas/ip"}],"description":"Gateway IP in the subnet","nullable":true,"readOnly":true},"id":{"type":"string","description":"Subnet id","readOnly":true},"ipPools":{"type":"array","description":"List of ip pools allocated in subnet","items":{"$ref":"#/components/schemas/cloud.network.IPPool"},"readOnly":true}}},"cloud.network.UpdateGateway":{"type":"object","description":"Input to update a gateway","properties":{"model":{"allOf":[{"$ref":"#/components/schemas/cloud.network.GatewayModelEnum"}],"description":"Model of the gateway"},"name":{"type":"string","description":"Name of the gateway"}},"required":["model","name"]},"cloud.network.gateway.CreateInterface":{"type":"object","description":"Input to create a new interface for a gateway","properties":{"subnetId":{"type":"string","description":"Subnet id to add","format":"uuid"}},"required":["subnetId"]},"cloud.network.gateway.ExternalInformation":{"type":"object","description":"External information of the gateway","properties":{"ips":{"type":"array","description":"External ips of the gateway","items":{"$ref":"#/components/schemas/cloud.network.gateway.IpSubnet"},"readOnly":true},"networkId":{"type":"string","description":"External network ID of the gateway","format":"uuid","readOnly":true},"snatEnabled":{"type":"boolean","description":"SNAT enabled for the gateway","readOnly":true}}},"cloud.network.gateway.Interface":{"type":"object","description":"Interface of the gateway","properties":{"id":{"type":"string","description":"ID of the interface","format":"uuid","readOnly":true},"ip":{"allOf":[{"$ref":"#/components/schemas/ip"}],"description":"IP of the interface","readOnly":true},"networkId":{"type":"string","description":"Network ID of the interface","format":"uuid","readOnly":true},"subnet":{"allOf":[{"$ref":"#/components/schemas/cloud.network.gateway.Subnet"}],"description":"Gateway subnet","nullable":true,"readOnly":true},"subnetId":{"type":"string","description":"Subnet ID of the interface","format":"uuid","readOnly":true}}},"cloud.network.gateway.IpSubnet":{"type":"object","description":"IP and subnet information","properties":{"ip":{"allOf":[{"$ref":"#/components/schemas/ip"}],"description":"External IP of the gateway","readOnly":true},"subnetId":{"type":"string","description":"Subnet ID of the ip","format":"uuid","readOnly":true}}},"cloud.network.gateway.Subnet":{"type":"object","description":"Subnet attached to gateway","properties":{"cidr":{"allOf":[{"$ref":"#/components/schemas/ipBlock"}],"description":"Cidr of the subnet","readOnly":true},"id":{"type":"string","description":"Subnet id","format":"uuid","readOnly":true},"name":{"type":"string","description":"Subnet name","readOnly":true}}},"cloud.order.Order":{"type":"object","description":"Cloud Order","properties":{"date":{"type":"string","description":"Order creation date","format":"date-time","readOnly":true},"orderId":{"type":"integer","description":"Order id","readOnly":true},"planCode":{"type":"string","description":"Order plan code","readOnly":true},"serviceName":{"type":"string","description":"Service created","nullable":true,"readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.order.StatusEnum"}],"readOnly":true}}},"cloud.order.StatusEnum":{"type":"string","description":"Order status","enum":["delivered","delivering","unknown","unpaid"]},"cloud.order.rule.Availability":{"type":"object","description":"Public Cloud products availability","properties":{"plans":{"type":"array","description":"Plan availability","items":{"$ref":"#/components/schemas/cloud.order.rule.AvailabilityPlan"},"readOnly":true},"products":{"type":"array","description":"Product availability","items":{"$ref":"#/components/schemas/cloud.order.rule.AvailabilityProduct"},"readOnly":true}}},"cloud.order.rule.AvailabilityPlan":{"type":"object","description":"Public Cloud plan availability","properties":{"code":{"type":"string","description":"Plan code","readOnly":true},"regions":{"type":"array","description":"Plan is available on those regions","items":{"type":"string"},"readOnly":true}}},"cloud.order.rule.AvailabilityProduct":{"type":"object","description":"Public Cloud product availability","properties":{"name":{"type":"string","description":"Product name","readOnly":true},"regions":{"type":"array","description":"Product is available on those regions","items":{"type":"string"},"readOnly":true}}},"cloud.plan.Detail":{"type":"object","description":"Fee detail","properties":{"id":{"type":"string","description":"The plan id","format":"uuid","readOnly":true},"period":{"allOf":[{"$ref":"#/components/schemas/cloud.usage.Period"}],"description":"Plan period","readOnly":true},"planName":{"type":"string","description":"Name of the plan","nullable":true,"readOnly":true},"size":{"type":"number","description":"The plan size (ex: number of instances)","readOnly":true},"totalPrice":{"allOf":[{"$ref":"#/components/schemas/order.Price"}],"description":"Total price of the plan, computed from size and unit price","readOnly":true},"unitPrice":{"allOf":[{"$ref":"#/components/schemas/order.Price"}],"description":"Unit price of the plan","readOnly":true}}},"cloud.plan.Fees":{"type":"object","description":"Details of fees for all plan subscriptions for this flavor","properties":{"flatFee":{"allOf":[{"$ref":"#/components/schemas/cloud.plan.FlatFee"}],"description":"Description of the flat fee for the plan","readOnly":true},"overQuota":{"allOf":[{"$ref":"#/components/schemas/cloud.plan.OverQuota"}],"description":"Detailed of fees when the consumption exceeds the size of the plans","readOnly":true},"savedAmount":{"allOf":[{"$ref":"#/components/schemas/order.Price"}],"description":"Total amount saved by using plans","readOnly":true},"totalPrice":{"allOf":[{"$ref":"#/components/schemas/order.Price"}],"description":"Total price of plan subscriptions for this flavor","readOnly":true}}},"cloud.plan.FlatFee":{"type":"object","description":"Details of fees regardless of the consumption","properties":{"details":{"type":"array","description":"Detailed listing of all flat fees","items":{"$ref":"#/components/schemas/cloud.plan.Detail"},"readOnly":true},"totalPrice":{"allOf":[{"$ref":"#/components/schemas/order.Price"}],"description":"Total price of the flat fee part of associated plans","readOnly":true}}},"cloud.plan.Flavor":{"type":"object","description":"Consumption details by flavor","properties":{"fees":{"allOf":[{"$ref":"#/components/schemas/cloud.plan.Fees"}],"description":"Fees associated to the plans for this flavor","readOnly":true},"flavor":{"type":"string","description":"The flavor for the plans","readOnly":true},"periods":{"type":"array","description":"Listing of all periods concerning this flavor saving plans : every change in usage or plans will make a new period","items":{"$ref":"#/components/schemas/cloud.plan.PlanPeriod"},"readOnly":true},"subscriptions":{"type":"array","description":"List of existing plan subscriptions for the flavor","items":{"$ref":"#/components/schemas/cloud.plan.Subscription"},"readOnly":true}}},"cloud.plan.OverQuota":{"type":"object","description":"Details of fees when the consumption exceeds the size of the plans","properties":{"ids":{"type":"array","description":"List of plan ids","items":{"type":"string","format":"uuid"},"readOnly":true},"quantity":{"type":"number","description":"Quantity consumed over the size of the plans","readOnly":true},"totalPrice":{"allOf":[{"$ref":"#/components/schemas/order.Price"}],"description":"Total price of the over quota, computed from quantity and unit price","readOnly":true},"unitPrice":{"allOf":[{"$ref":"#/components/schemas/order.Price"}],"description":"Unit price for the over quota","readOnly":true}}},"cloud.plan.Period":{"type":"object","description":"Period","properties":{"from":{"type":"string","description":"Start of the period","format":"date-time","readOnly":true},"to":{"type":"string","description":"End of the period","format":"date-time","readOnly":true}}},"cloud.plan.PlanPeriod":{"type":"object","description":"Consumption period for a flavor","properties":{"begin":{"type":"string","description":"Begin date of the period","format":"date-time","readOnly":true},"consumptionSize":{"type":"integer","description":"Size of the plan consumed","readOnly":true},"coverage":{"type":"string","description":"Human readable percentage of usages covered by the plan","readOnly":true},"cumulPlanSize":{"type":"integer","description":"Size of all plans combined","readOnly":true},"end":{"type":"string","description":"End date of the period","format":"date-time","readOnly":true},"plansIds":{"type":"array","description":"List of plans Ids","items":{"type":"string","format":"uuid"},"readOnly":true},"resourceIds":{"type":"array","description":"List of resource IDs that could be covered by this plan","items":{"type":"string"},"readOnly":true},"utilization":{"type":"string","description":"Human readable percentage of the savings plan utilization","readOnly":true}}},"cloud.plan.Subscription":{"type":"object","description":"Plan subscription for a flavor","properties":{"begin":{"type":"string","description":"Start date of the savings plan","format":"date-time","readOnly":true},"end":{"type":"string","description":"End date of the savings plan","format":"date-time","readOnly":true},"id":{"type":"string","description":"Id of the plan","format":"uuid","readOnly":true},"size":{"type":"integer","description":"Size of the plans","readOnly":true}}},"cloud.project.AllocationPool":{"type":"object","description":"AllocationPool","properties":{"end":{"allOf":[{"$ref":"#/components/schemas/ip"}],"description":"Last IP for the pool (eg: 192.168.1.24)"},"start":{"allOf":[{"$ref":"#/components/schemas/ip"}],"description":"First IP for the pool (eg: 192.168.1.12)"}}},"cloud.project.ApplicationLoadBalancer":{"type":"object","description":"A load balancer to handle application workload","properties":{"address":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.Address"}],"description":"Address to reach the load balancer","readOnly":true},"configuration":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.ConfigurationVersion"}],"description":"Information about version of the configuration","readOnly":true},"createdAt":{"type":"string","description":"Creation date and time of the load balancer","format":"date-time","readOnly":true},"description":{"type":"string","description":"Description of the load balancer","nullable":true},"egressAddress":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.Addresses"}],"description":"IPs used by the load balancer to contact backend's servers","readOnly":true},"id":{"type":"string","description":"ID of the load balancer","format":"uuid","readOnly":true},"name":{"type":"string","description":"Name of the load balancer","nullable":true},"openstackRegion":{"type":"string","description":"Openstack region where the load balancer is hosted","readOnly":true},"region":{"type":"string","description":"Region where the load balancer is hosted","readOnly":true},"size":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.SizeEnum"}],"description":"Size of the load balancer"},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.StatusEnum"}],"description":"Status of a load balancer","readOnly":true}}},"cloud.project.ApplicationLoadBalancerCreation":{"type":"object","description":"A load balancer to handle application workload","properties":{"description":{"type":"string","description":"Description of the load balancer","nullable":true},"id":{"type":"string","description":"ID of the load balancer","format":"uuid","readOnly":true},"name":{"type":"string","description":"Name of the load balancer","nullable":true},"networking":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.networking.NetworkingCreation"}],"description":"Networking definition","nullable":true},"openstackRegion":{"type":"string","description":"Openstack Region where the load balancer is hosted"},"region":{"type":"string","description":"Region where the load balancer is hosted"},"size":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.SizeEnum"}],"description":"Size of the load balancer","nullable":true}},"required":["region"]},"cloud.project.Bill":{"type":"object","description":"Project bill","properties":{"billId":{"type":"string","description":"Bill id"},"type":{"allOf":[{"$ref":"#/components/schemas/cloud.project.BillTypeEnum"}],"description":"Bill type"}}},"cloud.project.BillTypeEnum":{"type":"string","description":"Possible values for bill type","enum":["creditPurchased","monthlyConsumption","monthlyInstanceActivation"]},"cloud.project.Certificate":{"type":"object","description":"A Certificate to use in your NFVs","properties":{"expireAt":{"type":"string","description":"Date after when the certificate is not valid","format":"date-time","readOnly":true},"fingerprint":{"type":"string","description":"Fingerprint of the cert (prefixed by hashing algorithm used)","readOnly":true},"id":{"type":"string","description":"Unique ID of the certificate","format":"uuid","readOnly":true},"issuer":{"type":"string","description":"Issue of the certificate (extract from certificate)","readOnly":true},"kind":{"allOf":[{"$ref":"#/components/schemas/cloud.project.CertificateKindEnum"}],"description":"Kind of certificate","readOnly":true},"name":{"type":"string","description":"Name of the certificate","readOnly":true},"serialNumber":{"type":"string","description":"Serial number of the certificate (extract from certificate)","readOnly":true},"serverAlternativeNames":{"type":"array","description":"List of SANs (extract from certificate)","items":{"$ref":"#/components/schemas/cloud.project.certificate.ServerAlternativeName"},"readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.project.CertificateStatusEnum"}],"description":"Certificate status, to quickly know it can safely be used","readOnly":true},"subject":{"type":"string","description":"Subject of the certificate (extract from certificate)","readOnly":true},"validAt":{"type":"string","description":"Date after when the certificate is valid","format":"date-time","readOnly":true},"version":{"type":"integer","description":"Version of certificate (incremented every time you push a new certificate with the same name)","readOnly":true}}},"cloud.project.CertificateAdd":{"type":"object","description":"Add a new certificate","properties":{"import":{"allOf":[{"$ref":"#/components/schemas/cloud.project.certificate.Import"}],"description":"Import an existing certificate","nullable":true},"name":{"type":"string","description":"Name of the certificate"}},"required":["name"]},"cloud.project.CertificateKindEnum":{"type":"string","description":"Certificate kind","enum":["IMPORTED"]},"cloud.project.CertificateStatusEnum":{"type":"string","description":"Certificate status","enum":["EXPIRED","NOT_YET_VALID","OK","REVOKED"]},"cloud.project.EligibilityAction":{"type":"string","description":"Possible eligibility actions","enum":["addPaymentMethod","askIncreaseProjectsQuota","challengePaymentMethod","verifyPaypal"]},"cloud.project.EligibilityInfo":{"type":"object","description":"Eligibility information","properties":{"actionsRequired":{"type":"array","description":"Actions to perform to be eligible","nullable":true,"items":{"$ref":"#/components/schemas/cloud.project.EligibilityAction"}},"minimumCredit":{"allOf":[{"$ref":"#/components/schemas/order.Price"}],"description":"Cloud project order","nullable":true},"paymentMethodsAuthorized":{"type":"array","description":"Payment method accepted to order Public Cloud project","nullable":true,"items":{"$ref":"#/components/schemas/cloud.project.PaymentMethodAuthorized"}},"voucher":{"allOf":[{"$ref":"#/components/schemas/cloud.project.NewProjectInfoVoucher"}],"description":"Information about voucher code","nullable":true}}},"cloud.project.FloatingIp":{"type":"object","description":"A floating ip","properties":{"associatedEntity":{"allOf":[{"$ref":"#/components/schemas/cloud.project.floatingIp.AssociatedEntity"}],"description":"Associated entity with the floating ip","nullable":true,"readOnly":true},"id":{"type":"string","description":"ID of the floating ip","format":"uuid","readOnly":true},"ip":{"allOf":[{"$ref":"#/components/schemas/ip"}],"description":"Value of the floating ip","readOnly":true},"networkId":{"type":"string","description":"ID of the network","format":"uuid","readOnly":true},"region":{"type":"string","description":"Floating ip region","nullable":true,"readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.project.floatingIp.StatusEnum"}],"description":"Status of the floating ip","readOnly":true}}},"cloud.project.LoadBalancer":{"type":"object","description":"A load balancer to handle workload","properties":{"address":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.Address"}],"description":"Address to reach the load balancer","readOnly":true},"configuration":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.ConfigurationVersion"}],"description":"Information about version of the configuration","readOnly":true},"createdAt":{"type":"string","description":"Creation date and time of the load balancer","format":"date-time","readOnly":true},"description":{"type":"string","description":"Description of the load balancer","nullable":true},"egressAddress":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.Addresses"}],"description":"IPs used by the load balancer to contact backend's servers","readOnly":true},"id":{"type":"string","description":"ID of the load balancer","format":"uuid","readOnly":true},"name":{"type":"string","description":"Name of the load balancer","nullable":true},"networking":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.networking.Networking"}],"description":"Networking definition","readOnly":true},"openstackRegion":{"type":"string","description":"Openstack region where the load balancer is hosted","readOnly":true},"region":{"type":"string","description":"Region where the load balancer is hosted","readOnly":true},"size":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.SizeEnum"}],"description":"Size of the load balancer"},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.StatusEnum"}],"description":"Status of a load balancer","readOnly":true}}},"cloud.project.LoadBalancerCreation":{"type":"object","description":"A load balancer to handle workload","properties":{"description":{"type":"string","description":"Description of the load balancer","nullable":true},"id":{"type":"string","description":"ID of the load balancer","format":"uuid","readOnly":true},"name":{"type":"string","description":"Name of the load balancer","nullable":true},"networking":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.networking.NetworkingCreation"}],"description":"Networking definition","nullable":true},"openstackRegion":{"type":"string","description":"Openstack Region where the load balancer is hosted"},"region":{"type":"string","description":"Region where the load balancer is hosted"},"size":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.SizeEnum"}],"description":"Size of the load balancer","nullable":true}},"required":["region"]},"cloud.project.Network":{"type":"object","description":"Network","properties":{"id":{"type":"string","description":"Network id","readOnly":true},"name":{"type":"string","description":"Network name","readOnly":true},"region":{"type":"string","description":"Network region","nullable":true,"readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.network.NetworkStatusEnum"}],"description":"Network status","readOnly":true},"subnetIds":{"type":"array","description":"Network subnet ids","items":{"type":"string"},"readOnly":true},"visibility":{"allOf":[{"$ref":"#/components/schemas/cloud.network.NetworkVisibilityEnum"}],"description":"Network visibility","readOnly":true},"vlanId":{"type":"integer","description":"Network VLAN id","nullable":true,"readOnly":true}}},"cloud.project.NetworkLoadBalancer":{"type":"object","description":"A network load balancer for TCP/UDP workloads","properties":{"address":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.Address"}],"description":"Address to reach the load balancer","readOnly":true},"configuration":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.ConfigurationVersion"}],"description":"Information about version of the configuration","readOnly":true},"createdAt":{"type":"string","description":"Creation date and time of the load balancer","format":"date-time","readOnly":true},"description":{"type":"string","description":"Description of the load balancer","nullable":true},"egressAddress":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.Addresses"}],"description":"IPs used by the load balancer to contact backend's servers","readOnly":true},"id":{"type":"string","description":"ID of the load balancer","format":"uuid","readOnly":true},"name":{"type":"string","description":"Name of the load balancer","nullable":true},"openstackRegion":{"type":"string","description":"Openstack region where the load balancer is hosted","readOnly":true},"region":{"type":"string","description":"Region where the load balancer is hosted","readOnly":true},"size":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.SizeEnum"}],"description":"Size of the load balancer"},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.StatusEnum"}],"description":"Status of a load balancer","readOnly":true}}},"cloud.project.NetworkLoadBalancerCreation":{"type":"object","description":"A network load balancer for TCP/UDP workloads","properties":{"description":{"type":"string","description":"Description of the load balancer","nullable":true},"id":{"type":"string","description":"ID of the load balancer","format":"uuid","readOnly":true},"name":{"type":"string","description":"Name of the load balancer","nullable":true},"networking":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.networking.NetworkingCreation"}],"description":"Networking definition","nullable":true},"openstackRegion":{"type":"string","description":"Openstack Region where the load balancer is hosted"},"region":{"type":"string","description":"Region where the load balancer is hosted"},"size":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.SizeEnum"}],"description":"Size of the load balancer","nullable":true}},"required":["region"]},"cloud.project.NewProjectInfoVoucher":{"type":"object","description":"Information about voucher","properties":{"credit":{"allOf":[{"$ref":"#/components/schemas/order.Price"}],"description":"Credit added thanks to the voucher"},"paymentMethodRequired":{"type":"boolean","description":"A valid registered payment method is required to use the voucher"}}},"cloud.project.PaymentMethodAuthorized":{"type":"string","description":"List of accepted payment methods","enum":["bankAccount","credit","creditCard","paypal","rupay","sepaDirectDebit"]},"cloud.project.ProductAgreements":{"type":"object","description":"Product agreements","properties":{"agreementsToValidate":{"type":"array","description":"Agreements to validate","nullable":true,"items":{"type":"integer"}},"agreementsValidated":{"type":"array","description":"Agreements already validated","nullable":true,"items":{"type":"integer"}}}},"cloud.project.ProductNameEnum":{"type":"string","description":"Possible values for cloud project product name","enum":["registry"]},"cloud.project.ProjectStatus":{"type":"string","description":"Possible values for project status","enum":["creating","deleted","deleting","ok","suspended"]},"cloud.project.ProjectStatusEnum":{"type":"string","description":"Possible values for project status","enum":["creating","deleted","deleting","ok","suspended"]},"cloud.project.Subnet":{"type":"object","description":"Subnet","properties":{"allocationPools":{"type":"array","description":"List of ip pools allocated in subnet","items":{"$ref":"#/components/schemas/cloud.project.AllocationPool"},"readOnly":true},"cidr":{"allOf":[{"$ref":"#/components/schemas/ipBlock"}],"description":"Subnet CIDR","readOnly":true},"dhcpEnabled":{"type":"boolean","description":"If DHCP is enabled on subnet","readOnly":true},"dnsNameServers":{"type":"array","description":"DNS nameservers","items":{"$ref":"#/components/schemas/ip"},"readOnly":true},"gatewayIp":{"allOf":[{"$ref":"#/components/schemas/ip"}],"description":"Gateway IP","nullable":true,"readOnly":true},"hostRoutes":{"type":"array","description":"Subnet host routes","items":{"$ref":"#/components/schemas/cloud.network.HostRoute"},"readOnly":true},"id":{"type":"string","description":"Subnet id","readOnly":true},"ipVersion":{"type":"integer","description":"IP Version (4 or 6)","readOnly":true},"name":{"type":"string","description":"Subnet name","readOnly":true}}},"cloud.project.ai.AuthorizationStatus":{"type":"object","description":"Authorization status","properties":{"authorized":{"type":"boolean","description":"True if project is authorized to use AI Solutions Platform","readOnly":true}}},"cloud.project.ai.BasicAuthCredentialsInput":{"type":"object","description":"AI Solutions basic auth credentials input","properties":{"password":{"type":"string","description":"Basic Auth Password","format":"password"},"username":{"type":"string","description":"Basic Auth Username"}},"required":["password","username"]},"cloud.project.ai.Command":{"type":"object","description":"AI Solutions CLI command","properties":{"command":{"type":"string","description":"AI Solutions CLI command","readOnly":true}}},"cloud.project.ai.DataStore":{"type":"object","description":"AI Solutions data store container Volume Object","properties":{"alias":{"type":"string","description":"Data store alias","readOnly":true},"endpoint":{"type":"string","description":"Data store endpoint URL","nullable":true,"readOnly":true},"owner":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.DataStoreOwnerEnum"}],"description":"Owner type of the datastore","readOnly":true},"type":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.DataStoreTypeEnum"}],"description":"Type of the datastore","readOnly":true}}},"cloud.project.ai.DataStoreAuth":{"type":"object","description":"AI Solutions data store auth","properties":{"accessKey":{"type":"string","description":"Access key to the datastore","nullable":true,"readOnly":true},"region":{"type":"string","description":"Region of the datastore","nullable":true,"readOnly":true},"s3Url":{"type":"string","description":"S3™ compatible URL of the datastore","nullable":true,"readOnly":true},"secretKey":{"type":"string","description":"Secret key to the datastore","nullable":true,"format":"password","readOnly":true},"token":{"type":"string","description":"Swift (or S3™ compatible) Auth token","nullable":true,"format":"password","readOnly":true},"url":{"type":"string","description":"Swift storage URL","nullable":true,"readOnly":true}}},"cloud.project.ai.DataStoreCredentialsInput":{"type":"object","description":"AI Solutions data store credentials Object","properties":{"git":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.GitCredentialsInput"}],"description":"Git data store credentials","nullable":true},"s3":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.S3CredentialsInput"}],"description":"S3™ compatible data store credentials","nullable":true}}},"cloud.project.ai.DataStoreInput":{"type":"object","description":"AI Solutions data store container Volume Object","properties":{"alias":{"type":"string","description":"Data store alias"},"credentials":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.DataStoreCredentialsInput"}],"description":"Data store credentials"},"endpoint":{"type":"string","description":"Datastore endpoint"},"owner":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.DataStoreOwnerEnum"}],"description":"Data store owner"},"prefix":{"type":"string","description":"Data store prefix","nullable":true},"type":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.DataStoreTypeEnum"}],"description":"Data store type"}},"required":["alias","credentials","endpoint","owner","type"]},"cloud.project.ai.DataStoreOwnerEnum":{"type":"string","description":"Data Store Owner","enum":["customer","ovhcloud"]},"cloud.project.ai.DataStoreTypeEnum":{"type":"string","description":"Data Store Type","enum":["git","s3","swift"]},"cloud.project.ai.Env":{"type":"object","description":"AI Solutions Instance Env Object","properties":{"name":{"type":"string","description":"Name of the environment variable to set inside the AI Solutions instance"},"value":{"type":"string","description":"Value of the environment variable to set inside the AI Solutions instance","nullable":true}},"required":["name"]},"cloud.project.ai.GenericResponse":{"type":"object","description":"Basic model with a single message field","properties":{"message":{"type":"string","readOnly":true}}},"cloud.project.ai.GitCredentialsInput":{"type":"object","description":"AI Solutions data store git credentials input","properties":{"basicAuth":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.BasicAuthCredentialsInput"}],"description":"Basic Auth data store credentials","nullable":true},"sshKeypair":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.SshCredentialsInput"}],"description":"SSH data store credentials","nullable":true}}},"cloud.project.ai.Info":{"type":"object","description":"Information about the state of this entity","properties":{"code":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.InfoCodeEnum"}],"description":"Info code identifier","readOnly":true},"message":{"type":"string","description":"Formatted message","readOnly":true}}},"cloud.project.ai.InfoCodeEnum":{"type":"string","description":"Code enum for Info object","enum":["APP_CREATE_ERROR","APP_ERROR","APP_FAILED","APP_INITIALIZING","APP_INTERRUPTED_BY_PLATFORM","APP_INTERRUPTED_BY_USER","APP_QUEUED","APP_RUNNING","APP_SCALING","APP_STOPPED","APP_STOPPING","COMPATIBILITY","DATASYNC_AUTHENTICATE_FAILED","DATASYNC_DATA_STORE_NOT_FOUND","DATASYNC_DONE","DATASYNC_ERROR","DATASYNC_FAILED","DATASYNC_INTERRUPTED","DATASYNC_INVALID_CONTAINER","DATASYNC_PROGRESS_FAILED_FORBIDDEN","DATASYNC_PROGRESS_FAILED_INVALID_CREDENTIALS","DATASYNC_PROGRESS_FAILED_NOT_FOUND","DATASYNC_PROGRESS_FAILED_TRANSIENT_ERROR","DATASYNC_PROGRESS_FAILED_UNKNOWN_ERROR","DATASYNC_QUEUED","DATASYNC_RETRY_ERROR","DATASYNC_RUNNING","JOB_CREATE_CONTAINER_CONFIG_ERROR","JOB_CREATE_CONTAINER_ERROR","JOB_DONE","JOB_ERROR","JOB_EVICTED","JOB_FAILED","JOB_FAILED_WITH_MESSAGE","JOB_FINALIZING","JOB_IMAGE_INSPECT_ERROR","JOB_IMAGE_PULL","JOB_IMAGE_PULL_BACKOFF","JOB_INITIALIZING","JOB_INTERRUPTED","JOB_INTERRUPTED_BY_PLATFORM","JOB_INTERRUPTING","JOB_INVALID_IMAGE_NAME","JOB_PENDING","JOB_QUEUED","JOB_REGISTRY_UNAVAILABLE","JOB_RUNNING","JOB_SYNC_FAILED","JOB_TIMEOUT","NOTEBOOK_FAILED","NOTEBOOK_FAILED_WITH_MESSAGE","NOTEBOOK_FINALIZING","NOTEBOOK_INITIALIZING","NOTEBOOK_PENDING","NOTEBOOK_RUNNING","NOTEBOOK_STARTING","NOTEBOOK_STOPPED","NOTEBOOK_STOPPING","NOTEBOOK_SYNC_FAILED"]},"cloud.project.ai.Label":{"type":"object","description":"AI Solutions Label Object","properties":{"name":{"type":"string","description":"Name of the label to update/add"},"value":{"type":"string","description":"Value of the label to update/add, is there is no value the label is deleted","nullable":true}},"required":["name"]},"cloud.project.ai.LogLine":{"type":"object","description":"Log line","properties":{"content":{"type":"string","description":"Content of the log","nullable":true,"readOnly":true},"timestamp":{"type":"string","description":"Datetime of the log","nullable":true,"format":"date-time","readOnly":true}}},"cloud.project.ai.Logs":{"type":"object","description":"Instance Logs","properties":{"lastActivity":{"type":"string","description":"Last activity date","nullable":true,"format":"date-time","readOnly":true},"logs":{"type":"array","description":"Logs lines","items":{"$ref":"#/components/schemas/cloud.project.ai.LogLine"},"readOnly":true}}},"cloud.project.ai.OrderEnum":{"type":"string","description":"Possible value to order result","enum":["asc","desc"]},"cloud.project.ai.Resources":{"type":"object","description":"AI Solutions Resource Object","properties":{"cpu":{"type":"integer","description":"Number of vCPU resources requested","readOnly":true},"ephemeralStorage":{"type":"integer","description":"The amount of ephemeral storage in bytes","readOnly":true},"flavor":{"type":"string","description":"Current instance flavor","readOnly":true},"flavorCount":{"type":"integer","description":"Number of desired units of the chosen flavor","nullable":true,"readOnly":true},"gpu":{"type":"integer","description":"Number of GPU resources requested","readOnly":true},"gpuBrand":{"type":"string","description":"The GPU Brand","nullable":true,"readOnly":true},"gpuMemory":{"type":"integer","description":"The GPU Memory in bits","nullable":true,"readOnly":true},"gpuModel":{"type":"string","description":"The GPU Model","nullable":true,"readOnly":true},"memory":{"type":"integer","description":"The amount of memory in bytes","readOnly":true},"privateNetwork":{"type":"integer","description":"The guarantee private bandwidth in bytes per seconds","readOnly":true},"publicNetwork":{"type":"integer","description":"The guarantee public bandwidth in bytes per seconds","readOnly":true}}},"cloud.project.ai.ResourcesInput":{"type":"object","description":"AI Solutions Resource Object","properties":{"cpu":{"type":"integer","description":"Number of vCPU resources requested","nullable":true},"ephemeralStorage":{"type":"integer","description":"The amount of ephemeral storage in bytes","nullable":true},"flavor":{"type":"string","description":"Instance flavor","nullable":true},"flavorCount":{"type":"integer","description":"Number of desired units of the chosen flavor","nullable":true},"gpu":{"type":"integer","description":"Number of GPU resources requested","nullable":true},"gpuBrand":{"type":"string","description":"The GPU Brand","nullable":true},"gpuMemory":{"type":"integer","description":"The GPU Memory in bytes","nullable":true},"gpuModel":{"type":"string","description":"The GPU Model","nullable":true},"memory":{"type":"integer","description":"The amount of memory in bytes","nullable":true},"privateNetwork":{"type":"integer","description":"The private network bandwidth in bits per seconds","nullable":true},"publicNetwork":{"type":"integer","description":"The public network bandwidth in bits per seconds","nullable":true}}},"cloud.project.ai.S3CredentialsInput":{"type":"object","description":"AI Solutions S3™ compatible credentials","properties":{"accessKey":{"type":"string","description":"S3™ compatible Access Key"},"region":{"type":"string","description":"S3™ compatible Region"},"secretKey":{"type":"string","description":"S3™ compatible Private Key","format":"password"}},"required":["accessKey","region","secretKey"]},"cloud.project.ai.ShutdownStrategyEnum":{"type":"string","description":"Shutdown strategy of an instance","enum":["Restart","Stop"]},"cloud.project.ai.SshCredentialsInput":{"type":"object","description":"AI Solutions SSH credentials input","properties":{"privateKey":{"type":"string","description":"SSH private key","format":"password"},"publicKey":{"type":"string","description":"SSH public key"}},"required":["privateKey"]},"cloud.project.ai.TokenRoleEnum":{"type":"string","description":"Role granted with an application token","enum":["ai_training_operator","ai_training_read","quantum_operator","quantum_reader"]},"cloud.project.ai.VolumePermissionEnum":{"type":"string","description":"Permissions to apply on a volume","enum":["RO","RW","RWD"]},"cloud.project.ai.app.App":{"type":"object","description":"AI Solutions Platform App Object","properties":{"createdAt":{"type":"string","description":"App creation date","format":"date-time","readOnly":true},"id":{"type":"string","description":"App Id","format":"uuid","readOnly":true},"spec":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.app.AppSpec"}],"description":"App spec","readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.app.AppStatus"}],"description":"App Container Status","readOnly":true},"updatedAt":{"type":"string","description":"App last update date","format":"date-time","readOnly":true},"user":{"type":"string","description":"App user owner","readOnly":true}}},"cloud.project.ai.app.AppImageInput":{"type":"object","description":"AI App Image object","properties":{"url":{"type":"string","description":"URL of the Docker image"}},"required":["url"]},"cloud.project.ai.app.AppSpec":{"type":"object","description":"AI Solutions App Spec Object to create an app","properties":{"command":{"type":"array","description":"App command","nullable":true,"items":{"type":"string"},"readOnly":true},"defaultHttpPort":{"type":"integer","description":"Default port to access the http service inside the app","nullable":true,"readOnly":true},"deploymentStrategy":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.app.DeploymentStrategy"}],"description":"AI App deployment strategy","nullable":true,"readOnly":true},"envVars":{"type":"array","description":"List of environment variable to be set inside the app","nullable":true,"items":{"$ref":"#/components/schemas/cloud.project.ai.job.JobEnv"},"readOnly":true},"grpcPort":{"type":"integer","description":"GRPC Port that we want to expose in case workload HTTP & gRPC servers cannot be multiplexed to listen on the same port","nullable":true,"readOnly":true},"image":{"type":"string","description":"App image","readOnly":true},"labels":{"type":"object","description":"Labels for the app","nullable":true,"additionalProperties":{"type":"string"},"readOnly":true},"livenessProbe":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.app.Probe"}],"description":"App liveness probe","nullable":true,"readOnly":true},"name":{"type":"string","description":"App name","readOnly":true},"partnerId":{"type":"string","description":"Partner ID","nullable":true,"readOnly":true},"probe":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.app.Probe"}],"description":"App readiness probe","nullable":true,"readOnly":true},"region":{"type":"string","description":"Host region of the app","readOnly":true},"resources":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.Resources"}],"description":"App resources","readOnly":true},"scalingStrategy":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.app.ScalingStrategy"}],"description":"App scaling strategy","nullable":true,"readOnly":true},"unsecureHttp":{"type":"boolean","description":"True if app api port can be accessed without any authentication token, false otherwise","nullable":true,"readOnly":true},"volumes":{"type":"array","description":"App Data linked","nullable":true,"items":{"$ref":"#/components/schemas/cloud.project.ai.volume.Volume"},"readOnly":true}}},"cloud.project.ai.app.AppSpecInput":{"type":"object","description":"AI Solutions App Spec Object to create a app","properties":{"command":{"type":"array","description":"App command","nullable":true,"items":{"type":"string"}},"defaultHttpPort":{"type":"integer","description":"Default port to access http service inside the app","nullable":true},"deploymentStrategy":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.app.DeploymentStrategy"}],"description":"AI App deployment strategy","nullable":true},"envVars":{"type":"array","description":"List of environment variable to be set inside the app","nullable":true,"items":{"$ref":"#/components/schemas/cloud.project.ai.job.JobEnv"}},"grpcPort":{"type":"integer","description":"GRPC Port that we want to expose in case workload HTTP & gRPC servers cannot be multiplexed to listen on the same port","nullable":true},"image":{"type":"string","description":"Docker or capability image to use in the app. App capability images must comply with the pattern 'image-id:version'"},"labels":{"type":"object","description":"Labels are used to scope tokens, labels prefixed by 'ovh/' are owned by the platform and overridden","nullable":true,"additionalProperties":{"type":"string"}},"livenessProbe":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.app.ProbeInput"}],"description":"App liveness probe","nullable":true},"name":{"type":"string","description":"App name"},"partnerId":{"type":"string","description":"Partner ID","nullable":true},"probe":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.app.ProbeInput"}],"description":"App readiness probe","nullable":true},"region":{"type":"string","description":"Host region of the app"},"resources":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.ResourcesInput"}],"description":"App resources"},"scalingStrategy":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.app.ScalingStrategyInput"}],"description":"App scaling strategy","nullable":true},"unsecureHttp":{"type":"boolean","description":"Whether if app api port can be accessed without any authentication token","nullable":true},"volumes":{"type":"array","description":"App Data linked","nullable":true,"items":{"$ref":"#/components/schemas/cloud.project.ai.volume.Volume"}}},"required":["image","region","resources"]},"cloud.project.ai.app.AppStateEnum":{"type":"string","description":"State of the application","enum":["DELETED","DELETING","ERROR","FAILED","INITIALIZING","QUEUED","RUNNING","SCALING","STANDBY","STOPPED","STOPPING"]},"cloud.project.ai.app.AppStateHistory":{"type":"object","description":"AI Solutions App State History Object","properties":{"date":{"type":"string","description":"Date when the status occurred","format":"date-time","readOnly":true},"state":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.app.AppStateEnum"}],"description":"State of the app","readOnly":true}}},"cloud.project.ai.app.AppStatus":{"type":"object","description":"AI Solutions App Status Object","properties":{"availableReplicas":{"type":"integer","description":"Number of available replicas","readOnly":true},"dataSync":{"type":"array","description":"Status about the datasync linked to the app","items":{"$ref":"#/components/schemas/cloud.project.ai.volume.DataSync"},"readOnly":true},"grpcAddress":{"type":"string","description":"Address to reach when you want to access the App's gRPC services","nullable":true,"readOnly":true},"history":{"type":"array","description":"Job state history","items":{"$ref":"#/components/schemas/cloud.project.ai.app.AppStateHistory"},"readOnly":true},"info":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.Info"}],"description":"Information about the app","readOnly":true},"infoUrl":{"type":"string","description":"App info url","nullable":true,"readOnly":true},"internalServiceIp":{"allOf":[{"$ref":"#/components/schemas/ip"}],"description":"Internal IP address of the app service","nullable":true,"readOnly":true},"lastTransitionDate":{"type":"string","description":"Date of the last app state change","nullable":true,"format":"date-time","readOnly":true},"monitoringUrl":{"type":"string","description":"App resource usage url","nullable":true,"readOnly":true},"state":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.app.AppStateEnum"}],"description":"State of the app","nullable":true,"readOnly":true},"url":{"type":"string","description":"App access url","nullable":true,"readOnly":true},"volumes":{"type":"array","description":"App Data linked","nullable":true,"items":{"$ref":"#/components/schemas/cloud.project.ai.volume.VolumeStatus"},"readOnly":true}}},"cloud.project.ai.app.AutomaticScalingStrategyCustomMetrics":{"type":"object","description":"Scale an AI Deploy App based on a custom metric provided by a customer-exposed API","properties":{"aggregationType":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.app.CustomMetricsAggregationTypeEnum"}],"description":"aggregation type we apply on the custom metric used to scaled an AI Deploy App","readOnly":true},"apiUrl":{"type":"string","description":"Full URL of the API operation to call to get the metric value. Specific <SELF> placeholder can be given whenever metrics API is served by the deployed app itself. e.g : \"http://<SELF>:6000/metrics\"","readOnly":true},"format":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.app.CustomMetricsFormatEnum"}],"description":"format of the custom metric used to scaled an AI Deploy App","readOnly":true},"targetValue":{"type":"number","description":"Target value to scale on","readOnly":true},"valueLocation":{"type":"string","description":"The location of the metric value in the response payload. The value is format specific, see https://keda.sh/docs/2.16/scalers/metrics-api/#trigger-specification for details","readOnly":true}}},"cloud.project.ai.app.AutomaticScalingStrategyCustomMetricsInput":{"type":"object","description":"Scale an AI Deploy App based on a custom metric provided by a customer-exposed API","properties":{"aggregationType":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.app.CustomMetricsAggregationTypeEnum"}],"description":"aggregation type we apply on the custom metric used to scaled an AI Deploy App"},"apiUrl":{"type":"string","description":"Full URL of the API operation to call to get the metric value. Specific <SELF> placeholder can be given whenever metrics API is served by the deployed app itself. e.g : \"http://<SELF>:6000/metrics\""},"format":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.app.CustomMetricsFormatEnum"}],"description":"format of the custom metric used to scaled an AI Deploy App"},"targetValue":{"type":"number","description":"Target value to scale on"},"valueLocation":{"type":"string","description":"The location of the metric value in the response payload. The value is format specific, see https://keda.sh/docs/2.16/scalers/metrics-api/#trigger-specification for details"}}},"cloud.project.ai.app.CustomMetricsAggregationTypeEnum":{"type":"string","description":"Aggregation type for the custom metrics we want to deploy an AI deploy App on","enum":["AVERAGE","MAX","MIN","SUM"]},"cloud.project.ai.app.CustomMetricsFormatEnum":{"type":"string","description":"format of the custom metric used to scaled an AI Deploy App","enum":["JSON","PROMETHEUS","XML","YAML"]},"cloud.project.ai.app.DeploymentStrategy":{"type":"object","description":"AI Solutions AI App deployment strategy object","properties":{"maxSurge":{"type":"string","description":"Maximum number of replicas that can be created over the desired number of Pods (can be expressed as a percentage of the desired pods, suffixed with '%')","nullable":true},"maxUnavailable":{"type":"string","description":"Maximum number of replicas that can be unavailable during the update process (can be expressed as a percentage of the desired pods, suffixed with '%')","nullable":true},"progressDeadlineSeconds":{"type":"integer","description":"Number of seconds you want to wait for your Deployment to progress before the system reports back that the Deployment has failed progressing","nullable":true},"terminationGracePeriodSeconds":{"type":"integer","description":"Number of seconds we allow an app's replica to shutdown gracefully before we terminate it. Defaults to 30 seconds","nullable":true}}},"cloud.project.ai.app.Probe":{"type":"object","description":"AI Solutions App Probe Object","properties":{"failureThreshold":{"type":"integer","description":"Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.","nullable":true,"readOnly":true},"initialDelaySeconds":{"type":"integer","description":"Number of seconds after the container has started before liveness probes are initiated.","nullable":true,"readOnly":true},"path":{"type":"string","description":"Path to access to check for readiness","nullable":true,"readOnly":true},"periodSeconds":{"type":"integer","description":"How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.","nullable":true,"readOnly":true},"port":{"type":"integer","description":"Port to access to check for readiness","nullable":true,"readOnly":true},"successThreshold":{"type":"integer","description":"Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.","nullable":true,"readOnly":true},"timeoutSeconds":{"type":"integer","description":"Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1.","nullable":true,"readOnly":true}}},"cloud.project.ai.app.ProbeInput":{"type":"object","description":"AI Solutions App Probe Object","properties":{"failureThreshold":{"type":"integer","description":"Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.","nullable":true},"initialDelaySeconds":{"type":"integer","description":"Number of seconds after the container has started before liveness probes are initiated.","nullable":true},"path":{"type":"string","description":"Path to access to check for readiness","nullable":true},"periodSeconds":{"type":"integer","description":"How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.","nullable":true},"port":{"type":"integer","description":"Port to access to check for readiness","nullable":true},"successThreshold":{"type":"integer","description":"Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.","nullable":true},"timeoutSeconds":{"type":"integer","description":"Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1.","nullable":true}}},"cloud.project.ai.app.ScalingAutomaticStrategy":{"type":"object","description":"AI Solutions App automatic scaling strategy object","properties":{"averageUsageTarget":{"type":"integer","description":"The average resource usage threshold that the app upscale or downscale will be triggered from, in percent","nullable":true,"readOnly":true},"cooldownPeriodSeconds":{"type":"integer","description":"Number of seconds to wait before scaling app to 0 whenever there are no more HTTP/gRPC requests made to it. Only applies when replicasMin=0","nullable":true,"readOnly":true},"customMetrics":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.app.AutomaticScalingStrategyCustomMetrics"}],"description":"parameters to scale the AI Deploy App based on a custom metric provided by a customer-exposed API","nullable":true,"readOnly":true},"replicasMax":{"type":"integer","description":"Maximum number of replicas","readOnly":true},"replicasMin":{"type":"integer","description":"Minimum number of replicas","nullable":true,"readOnly":true},"resourceType":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.app.ScalingAutomaticStrategyResourceTypeEnum"}],"description":"Type of the resource to base the automatic scaling on","nullable":true,"readOnly":true},"scaleDownStabilizationWindowSeconds":{"type":"integer","description":"Number of seconds for which past recommendations should be considered while scaling down. Must be greater than or equal to zero and less than or equal to 3600 (one hour).","nullable":true,"readOnly":true},"scaleUpStabilizationWindowSeconds":{"type":"integer","description":"Number of seconds for which past recommendations should be considered while scaling up. Must be greater than or equal to zero and less than or equal to 3600 (one hour).","nullable":true,"readOnly":true}}},"cloud.project.ai.app.ScalingAutomaticStrategyInput":{"type":"object","description":"AI Solutions App automatic scaling strategy object","properties":{"averageUsageTarget":{"type":"integer","description":"The average resource usage threshold that the app upscale or downscale will be triggered from, in percent","nullable":true},"cooldownPeriodSeconds":{"type":"integer","description":"Number of seconds to wait before scaling app to 0 whenever there are no more HTTP/gRPC requests made to it. Only applies when replicasMin=0","nullable":true},"customMetrics":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.app.AutomaticScalingStrategyCustomMetricsInput"}],"description":"parameters to scale the AI Deploy App based on a custom metric provided by a customer-exposed API","nullable":true},"replicasMax":{"type":"integer","description":"Maximum number of replicas"},"replicasMin":{"type":"integer","description":"Minimum number of replicas"},"resourceType":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.app.ScalingAutomaticStrategyResourceTypeEnum"}],"description":"Type of the resource to base the automatic scaling on","nullable":true},"scaleDownStabilizationWindowSeconds":{"type":"integer","description":"Number of seconds for which past recommendations should be considered while scaling down. Must be greater than or equal to zero and less than or equal to 3600 (one hour).","nullable":true},"scaleUpStabilizationWindowSeconds":{"type":"integer","description":"Number of seconds for which past recommendations should be considered while scaling up. Must be greater than or equal to zero and less than or equal to 3600 (one hour).","nullable":true}}},"cloud.project.ai.app.ScalingAutomaticStrategyResourceTypeEnum":{"type":"string","description":"Resource type for App automatic scaling strategy","enum":["CPU","RAM"]},"cloud.project.ai.app.ScalingFixedStrategy":{"type":"object","description":"AI Solutions App Status Object","properties":{"replicas":{"type":"integer","description":"Number of wanted replicas","readOnly":true}}},"cloud.project.ai.app.ScalingFixedStrategyInput":{"type":"object","description":"AI Solutions App Status Object","properties":{"replicas":{"type":"integer","description":"Number of wanted replicas"}}},"cloud.project.ai.app.ScalingStrategy":{"type":"object","description":"AI Solutions App Scaling Strategy Object","properties":{"automatic":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.app.ScalingAutomaticStrategy"}],"description":"Strategy setting a variable number of replicas, based on an average resource usage threshold","nullable":true,"readOnly":true},"fixed":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.app.ScalingFixedStrategy"}],"description":"Strategy setting a fix number of replicas","nullable":true,"readOnly":true}}},"cloud.project.ai.app.ScalingStrategyInput":{"type":"object","description":"AI Solutions App Scaling Strategy Object","properties":{"automatic":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.app.ScalingAutomaticStrategyInput"}],"description":"Strategy setting a variable number of replicas, based on an average resource usage threshold (conflicts with 'fixed' property when both are not null)","nullable":true},"fixed":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.app.ScalingFixedStrategyInput"}],"description":"Strategy setting a fix number of replicas (conflicts with 'automatic' property when both are not null)","nullable":true}}},"cloud.project.ai.app.UpdateInput":{"type":"object","description":"AI Solutions AI App update object","properties":{"command":{"type":"array","description":"App command and arguments. Pass empty list to reset","nullable":true,"items":{"type":"string"}},"cpu":{"type":"integer","description":"Number of CPU resources requested (applies to CPU flavors)","nullable":true},"defaultHttpPort":{"type":"integer","description":"Default port to access http service inside the app","nullable":true},"deploymentStrategy":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.app.DeploymentStrategy"}],"description":"Deployment strategy to use when updating this AI App","nullable":true},"envVars":{"type":"array","description":"Environment variables to be patched (empty/null value to remove)","nullable":true,"items":{"$ref":"#/components/schemas/cloud.project.ai.Env"}},"flavor":{"type":"string","description":"App instance flavor","nullable":true},"flavorCount":{"type":"integer","description":"Number of desired units of the chosen flavor","nullable":true},"gpu":{"type":"integer","description":"Number of GPU resources requested (applies to GPU flavors)","nullable":true},"grpcPort":{"type":"integer","description":"GRPC Port that we want to expose in case workload HTTP & gRPC servers cannot be multiplexed to listen on the same port","nullable":true},"livenessProbe":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.app.ProbeInput"}],"description":"App liveness probe","nullable":true},"probe":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.app.ProbeInput"}],"description":"App readiness probe","nullable":true},"url":{"type":"string","description":"URL of the Docker image for this AI deployment","nullable":true}}},"cloud.project.ai.capabilities.Features":{"type":"object","description":"AI Solutions Features","properties":{"lab":{"type":"boolean","description":"Inform if the AI Solutions is in Lab mode or not","readOnly":true},"registry":{"type":"boolean","description":"Capability to add registry","readOnly":true}}},"cloud.project.ai.capabilities.Flavor":{"type":"object","description":"AI Solutions Flavor","properties":{"default":{"type":"boolean","description":"Is the flavor the default one for a flavor type","readOnly":true},"description":{"type":"string","description":"Flavor description","readOnly":true},"gpuInformation":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.capabilities.flavor.GpuInformation"}],"description":"Describe GPU information","nullable":true,"readOnly":true},"id":{"type":"string","description":"Flavor id","readOnly":true},"max":{"type":"integer","description":"Maximum amount available for a job / notebook","readOnly":true},"resourcesPerUnit":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.capabilities.flavor.ResourcesPerUnit"}],"description":"Describe the amount of resources given per unit of the flavor","readOnly":true},"type":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.capabilities.FlavorTypeEnum"}],"description":"Flavor type","readOnly":true}}},"cloud.project.ai.capabilities.FlavorTypeEnum":{"type":"string","description":"Flavor Type","enum":["cpu","gpu"]},"cloud.project.ai.capabilities.LicensingTypeEnum":{"type":"string","description":"Licensing Type","enum":["per-app","per-replica","per-resource","per-second-bracket"]},"cloud.project.ai.capabilities.Preset":{"type":"object","description":"AI Solutions Preset image","properties":{"capabilities":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.capabilities.PresetCapabilities"}],"description":"Preset capabilities","readOnly":true},"descriptions":{"type":"array","description":"Preset description","items":{"type":"string"},"readOnly":true},"docUrl":{"type":"array","description":"URL toward the preset image documentation","items":{"$ref":"#/components/schemas/cloud.project.ai.capabilities.PresetDocumentationUrl"},"readOnly":true},"id":{"type":"string","description":"Preset id","readOnly":true},"logoUrl":{"type":"string","description":"URL toward the logo to illustrate the preset","readOnly":true},"name":{"type":"string","description":"Preset name","readOnly":true},"partner":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.job.Partner"}],"description":"Partner name","readOnly":true},"snippet":{"type":"string","description":"Snippet example of the doc","readOnly":true},"type":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.capabilities.PresetTypeEnum"}],"description":"Preset type","readOnly":true}}},"cloud.project.ai.capabilities.PresetCapabilities":{"type":"object","description":"AI Solutions Preset image enabled features","properties":{"exec":{"type":"boolean","description":"Exec enabled","readOnly":true},"flavorTypes":{"type":"array","description":"Flavor types","items":{"$ref":"#/components/schemas/cloud.project.ai.capabilities.FlavorTypeEnum"},"readOnly":true},"log":{"type":"boolean","description":"Log enabled","readOnly":true},"resources":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.capabilities.PresetResources"}],"description":"Resources requirements","readOnly":true},"ssh":{"type":"boolean","description":"SSH enabled","readOnly":true},"volume":{"type":"boolean","description":"Volume enabled","readOnly":true}}},"cloud.project.ai.capabilities.PresetDocumentationUrl":{"type":"object","description":"AI Solutions Preset image","properties":{"name":{"type":"string","description":"Documentation Name","readOnly":true},"url":{"type":"string","description":"Documentation URL","readOnly":true}}},"cloud.project.ai.capabilities.PresetResources":{"type":"object","description":"AI Solutions Preset resources requirements","properties":{"maxGpu":{"type":"integer","description":"Maximum number of GPUs supported","readOnly":true}}},"cloud.project.ai.capabilities.PresetTypeEnum":{"type":"string","description":"Preset Type","enum":["app","job","notebook"]},"cloud.project.ai.capabilities.ProjectQuotas":{"type":"object","description":"AI Solutions Project Quotas","properties":{"resources":{"type":"object","description":"Project's quotas per compute-type resource (e.g CPU/GPU)","additionalProperties":{"type":"integer"},"readOnly":true},"storage":{"type":"integer","description":"Storage quota (in bits) that is allocated to the project","readOnly":true}}},"cloud.project.ai.capabilities.Region":{"type":"object","description":"AI Solutions Region","properties":{"cliInstallUrl":{"type":"string","description":"Client Install Url","readOnly":true},"documentationUrl":{"type":"string","description":"Documentation Url","readOnly":true},"id":{"type":"string","description":"Region id","readOnly":true},"registryUrl":{"type":"string","description":"Region Registry Url","readOnly":true},"version":{"type":"string","description":"Region version","readOnly":true}}},"cloud.project.ai.capabilities.app.Image":{"type":"object","description":"AI Solutions App image object","properties":{"description":{"type":"string","description":"Short description of the image","readOnly":true},"docUrl":{"type":"string","description":"URL of the image documentation","readOnly":true},"id":{"type":"string","description":"Unique identifier of the image","readOnly":true},"licensing":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.capabilities.LicensingTypeEnum"}],"description":"Type of licensing","readOnly":true},"logoUrl":{"type":"string","description":"URL of the logo of the image","readOnly":true},"name":{"type":"string","description":"Name of the image","readOnly":true},"partnerId":{"type":"string","description":"ID of the partner providing the image","readOnly":true},"partnerName":{"type":"string","description":"Name of the partner providing the image","readOnly":true},"versions":{"type":"array","description":"List of available versions of this image","items":{"type":"string"},"readOnly":true}}},"cloud.project.ai.capabilities.flavor.GpuInformation":{"type":"object","description":"AI Solutions Global GPU information","properties":{"gpuBrand":{"type":"string","description":"The GPU Brand","readOnly":true},"gpuMemory":{"type":"integer","description":"The GPU Memory in bits","readOnly":true},"gpuModel":{"type":"string","description":"The GPU Model","readOnly":true}}},"cloud.project.ai.capabilities.flavor.ResourcesPerUnit":{"type":"object","description":"AI Solutions Global Resource per flavor unit","properties":{"cpu":{"type":"integer","description":"The amount of cpu for one unit of the flavor","readOnly":true},"ephemeralStorage":{"type":"integer","description":"The amount of ephemeral storage in bytes","readOnly":true},"gpu":{"type":"integer","description":"The amount of gpu for one unit of the flavor","readOnly":true},"memory":{"type":"integer","description":"The amount of memory in bytes","readOnly":true},"privateNetwork":{"type":"integer","description":"The guarantee private bandwidth in bytes per seconds","readOnly":true},"publicNetwork":{"type":"integer","description":"The guarantee public bandwidth in bytes per seconds","readOnly":true}}},"cloud.project.ai.capabilities.job.Image":{"type":"object","description":"AI Solutions Job image object","properties":{"description":{"type":"string","description":"Short description of the image","readOnly":true},"docUrl":{"type":"string","description":"URL of the image documentation","readOnly":true},"id":{"type":"string","description":"Unique identifier of the image","readOnly":true},"logoUrl":{"type":"string","description":"URL of the logo of the image","readOnly":true},"name":{"type":"string","description":"Name of the image","readOnly":true},"versions":{"type":"array","description":"List of available versions of this image","items":{"type":"string"},"readOnly":true}}},"cloud.project.ai.capabilities.notebook.Editor":{"type":"object","description":"AI Solutions Notebook editor object","properties":{"description":{"type":"string","description":"Short description of the editor","readOnly":true},"docUrl":{"type":"string","description":"URL of the editor documentation","readOnly":true},"id":{"type":"string","description":"Unique identifier of the editor","readOnly":true},"logoUrl":{"type":"string","description":"URL of the logo of the editor","readOnly":true},"name":{"type":"string","description":"Name of the editor","readOnly":true},"versions":{"type":"array","description":"List of available versions of this editor","items":{"type":"string"},"readOnly":true}}},"cloud.project.ai.capabilities.notebook.Framework":{"type":"object","description":"AI Solutions Notebook framework object","properties":{"description":{"type":"string","description":"Short description of the framework","readOnly":true},"docUrl":{"type":"string","description":"URL of the framework documentation","readOnly":true},"id":{"type":"string","description":"Unique identifier of the framework","readOnly":true},"logoUrl":{"type":"string","description":"URL of the logo of the framework","readOnly":true},"name":{"type":"string","description":"Name of the framework","readOnly":true},"savedPaths":{"type":"array","description":"List of paths that are automatically saved","nullable":true,"items":{"type":"string"},"readOnly":true},"supportedQpus":{"type":"array","description":"List of the QPU flavors that are supported by this framework","nullable":true,"items":{"type":"string"},"readOnly":true},"type":{"type":"string","description":"Type of given framework eg. ai, quantum, quantum-qpu","readOnly":true},"versions":{"type":"array","description":"List of available versions of this framework","items":{"type":"string"},"readOnly":true}}},"cloud.project.ai.endpoints.Model":{"type":"object","description":"An AI Endpoints model","properties":{"id":{"type":"string","description":"Model identifier, also used as its billing id","readOnly":true}}},"cloud.project.ai.job.Job":{"type":"object","description":"AI Solutions Job Object","properties":{"createdAt":{"type":"string","description":"Job creation date","format":"date-time","readOnly":true},"id":{"type":"string","description":"Job Id","format":"uuid","readOnly":true},"spec":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.job.JobSpec"}],"description":"Job specifications","readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.job.JobStatus"}],"description":"Job status","readOnly":true},"updatedAt":{"type":"string","description":"Job update date","format":"date-time","readOnly":true},"user":{"type":"string","description":"Job user owner","readOnly":true}}},"cloud.project.ai.job.JobEnv":{"type":"object","description":"AI Solutions Job Env Object","properties":{"name":{"type":"string","description":"Name of the environment variable to set inside the job"},"value":{"type":"string","description":"Value of the environment variable to set inside the job"}},"required":["name","value"]},"cloud.project.ai.job.JobSpec":{"type":"object","description":"AI Solutions Job Spec Object to create a job","properties":{"command":{"type":"array","description":"Job command","nullable":true,"items":{"type":"string"},"readOnly":true},"defaultHttpPort":{"type":"integer","description":"Port use as the default one to access http service inside job","nullable":true,"readOnly":true},"envVars":{"type":"array","description":"List of environment variable to be set inside job","nullable":true,"items":{"$ref":"#/components/schemas/cloud.project.ai.job.JobEnv"},"readOnly":true},"grpcPort":{"type":"integer","description":"GRPC Port that we want to expose in case workload HTTP & gRPC servers cannot be multiplexed to listen on the same port","nullable":true,"readOnly":true},"image":{"type":"string","description":"Job image","readOnly":true},"labels":{"type":"object","description":"Labels for the job","nullable":true,"additionalProperties":{"type":"string"},"readOnly":true},"name":{"type":"string","description":"Job name","readOnly":true},"partnerId":{"type":"string","description":"Partner ID","nullable":true,"readOnly":true},"readUser":{"type":"string","description":"User ID to use to access the job","nullable":true,"readOnly":true},"region":{"type":"string","description":"Host region of the job","readOnly":true},"resources":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.Resources"}],"description":"Job resources","readOnly":true},"shutdown":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.ShutdownStrategyEnum"}],"description":"Shutdown strategy (if any)","nullable":true,"readOnly":true},"sshPublicKeys":{"type":"array","description":"SSH keys authorized to access to the job container","nullable":true,"items":{"type":"string"},"readOnly":true},"timeout":{"type":"integer","description":"Maximum time to spend before killing the job","nullable":true,"readOnly":true},"timeoutAutoRestart":{"type":"boolean","description":"Whether job should be restarted after timeout","nullable":true,"readOnly":true},"unsecureHttp":{"type":"boolean","description":"Whether job api port can be accessed without any authentication token","nullable":true,"readOnly":true},"volumes":{"type":"array","description":"Job Data linked","nullable":true,"items":{"$ref":"#/components/schemas/cloud.project.ai.volume.Volume"},"readOnly":true}}},"cloud.project.ai.job.JobSpecInput":{"type":"object","description":"AI Solutions Job Spec Object to create a job","properties":{"command":{"type":"array","description":"Job command","nullable":true,"items":{"type":"string"}},"defaultHttpPort":{"type":"integer","description":"Port use as the default one to access http service inside job","nullable":true},"envVars":{"type":"array","description":"List of environment variable to be set inside job","nullable":true,"items":{"$ref":"#/components/schemas/cloud.project.ai.job.JobEnv"}},"grpcPort":{"type":"integer","description":"GRPC Port that we want to expose in case workload HTTP & gRPC servers cannot be multiplexed to listen on the same port","nullable":true},"image":{"type":"string","description":"Job image"},"labels":{"type":"object","description":"Labels are used to scope tokens, labels prefixed by 'ovh/' are owned by the platform and overridden","nullable":true,"additionalProperties":{"type":"string"}},"name":{"type":"string","description":"Job name"},"partnerId":{"type":"string","description":"Partner ID","nullable":true},"readUser":{"type":"string","description":"User ID to use to access the job","nullable":true},"region":{"type":"string","description":"Host region of the job"},"resources":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.ResourcesInput"}],"description":"Job resources"},"shutdown":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.ShutdownStrategyEnum"}],"description":"Shutdown strategy (if any)","nullable":true,"readOnly":true},"sshPublicKeys":{"type":"array","description":"SSH keys authorized to access to the job container","nullable":true,"items":{"type":"string"}},"timeout":{"type":"integer","description":"Maximum time to spend before killing the job","nullable":true},"timeoutAutoRestart":{"type":"boolean","description":"Whether job is set to be restarted after timeout","nullable":true},"unsecureHttp":{"type":"boolean","description":"Whether job api port can be accessed without any authentication token","nullable":true},"volumes":{"type":"array","description":"Job Data linked","nullable":true,"items":{"$ref":"#/components/schemas/cloud.project.ai.volume.Volume"}}},"required":["image","region","resources"]},"cloud.project.ai.job.JobStateEnum":{"type":"string","description":"State of the job","enum":["DONE","ERROR","FAILED","FINALIZING","INITIALIZING","INTERRUPTED","INTERRUPTING","PENDING","QUEUED","RESTARTING","RUNNING","SYNC_FAILED","TIMEOUT"]},"cloud.project.ai.job.JobStatus":{"type":"object","description":"AI Solutions Job Status Object","properties":{"dataSync":{"type":"array","description":"Status about the datasync linked to the job","items":{"$ref":"#/components/schemas/cloud.project.ai.volume.DataSync"},"readOnly":true},"duration":{"type":"integer","description":"Duration of the job","nullable":true,"readOnly":true},"exitCode":{"type":"integer","description":"Exit code of the job","nullable":true,"readOnly":true},"externalIp":{"allOf":[{"$ref":"#/components/schemas/ip"}],"description":"External IP of the job","nullable":true,"readOnly":true},"finalizedAt":{"type":"string","description":"Date when the job was finalized","nullable":true,"format":"date-time","readOnly":true},"grpcAddress":{"type":"string","description":"Address to reach when you want to access the Job's gRPC services","nullable":true,"readOnly":true},"history":{"type":"array","description":"Job state history","items":{"$ref":"#/components/schemas/cloud.project.ai.job.JobStatusHistory"},"readOnly":true},"info":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.Info"}],"description":"Information about the job","readOnly":true},"infoUrl":{"type":"string","description":"Job info url","nullable":true,"readOnly":true},"initializingAt":{"type":"string","description":"Date when the job was initialized","nullable":true,"format":"date-time","readOnly":true},"ip":{"allOf":[{"$ref":"#/components/schemas/ip"}],"description":"IP of the job","nullable":true,"readOnly":true},"lastTransitionDate":{"type":"string","description":"Date of the last transition","nullable":true,"format":"date-time","readOnly":true},"monitoringUrl":{"type":"string","description":"Job resource usage url","nullable":true,"readOnly":true},"queuedAt":{"type":"string","description":"Date when the job was queued","nullable":true,"format":"date-time","readOnly":true},"sshUrl":{"type":"string","description":"SSH Url fot the job","nullable":true,"readOnly":true},"startedAt":{"type":"string","description":"Date when the job was started","nullable":true,"format":"date-time","readOnly":true},"state":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.job.JobStateEnum"}],"description":"State of the job","nullable":true,"readOnly":true},"stoppedAt":{"type":"string","description":"Date when the job was stop","nullable":true,"format":"date-time","readOnly":true},"timeoutAt":{"type":"string","description":"Date when the job is planned to timeout","nullable":true,"format":"date-time","readOnly":true},"url":{"type":"string","description":"Job access url","nullable":true,"readOnly":true},"volumes":{"type":"array","description":"Job Data linked","nullable":true,"items":{"$ref":"#/components/schemas/cloud.project.ai.volume.VolumeStatus"},"readOnly":true}}},"cloud.project.ai.job.JobStatusHistory":{"type":"object","description":"AI Solutions Job Status History Object","properties":{"date":{"type":"string","description":"Date when the status occurred","format":"date-time","readOnly":true},"state":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.job.JobStateEnum"}],"description":"State of the job","readOnly":true}}},"cloud.project.ai.job.Partner":{"type":"object","description":"AI Solutions Partner Object","properties":{"flavor":{"type":"string","description":"Partner flavor","readOnly":true},"id":{"type":"string","description":"Partner ID","readOnly":true},"name":{"type":"string","description":"Partner name","readOnly":true}}},"cloud.project.ai.job.PresetImage":{"type":"object","description":"A Image of a preset data science image","properties":{"description":{"type":"string","description":"Model Image Description","readOnly":true},"id":{"type":"string","description":"Image id","readOnly":true},"link":{"type":"string","description":"Link to the Opensource Model","nullable":true,"readOnly":true},"logo":{"type":"string","description":"Framework logo","nullable":true,"readOnly":true},"name":{"type":"string","description":"Model Image Name","readOnly":true}}},"cloud.project.ai.notebook.Backup":{"type":"object","description":"AI Solutions Platform Notebook Backup Object","properties":{"createdAt":{"type":"string","description":"Backup creation date","format":"date-time","readOnly":true},"evictionDate":{"type":"string","description":"date at which the notebook backup will be evicted/deleted according to applicable notebook workspace backup retention policy","nullable":true,"format":"date-time","readOnly":true},"id":{"type":"string","description":"Backup Id","readOnly":true},"updatedAt":{"type":"string","description":"Backup last update date","format":"date-time","readOnly":true}}},"cloud.project.ai.notebook.Editor":{"type":"object","description":"AI Solutions Data Object","properties":{"description":{"type":"string","description":"Short description of the code editor","readOnly":true},"docUrl":{"type":"string","description":"URL toward the code editor documentation","readOnly":true},"id":{"type":"string","description":"Unique identifier of the code editor","readOnly":true},"logoUrl":{"type":"string","description":"URL toward the logo to illustrate the editor","readOnly":true},"name":{"type":"string","description":"Name of the code editor","readOnly":true},"version":{"type":"string","description":"Version of the code editor","readOnly":true}}},"cloud.project.ai.notebook.Framework":{"type":"object","description":"AI Solutions Data Object","properties":{"description":{"type":"string","description":"Short description of the framework","readOnly":true},"docUrl":{"type":"string","description":"URL toward the framework documentation","readOnly":true},"id":{"type":"string","description":"Unique identifier of the framework","readOnly":true},"logoUrl":{"type":"string","description":"URL toward the logo to illustrate the framework","readOnly":true},"name":{"type":"string","description":"Name of the framework","readOnly":true},"versions":{"type":"array","description":"Available versions for the framework (default is the first one)","items":{"type":"string"},"readOnly":true}}},"cloud.project.ai.notebook.Notebook":{"type":"object","description":"AI Solutions Platform Notebook Object","properties":{"createdAt":{"type":"string","description":"Notebook creation date","format":"date-time","readOnly":true},"id":{"type":"string","description":"Notebook Id","readOnly":true},"spec":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.notebook.NotebookSpec"}],"description":"Notebook spec","readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.notebook.NotebookStatus"}],"description":"Notebook Container Status","readOnly":true},"updatedAt":{"type":"string","description":"Notebook last update date","format":"date-time","readOnly":true},"user":{"type":"string","description":"Notebook user owner","readOnly":true}}},"cloud.project.ai.notebook.NotebookEnv":{"type":"object","description":"AI Solutions Framework Object to create a notebook","properties":{"editorId":{"type":"string","description":"Code editor to use"},"frameworkId":{"type":"string","description":"Framework name"},"frameworkVersion":{"type":"string","description":"Framework version to use","nullable":true}},"required":["editorId","frameworkId"]},"cloud.project.ai.notebook.NotebookForkInfo":{"type":"object","description":"AI Solutions Forked Notebook Information","properties":{"name":{"type":"string","description":"Forked notebook name","nullable":true}}},"cloud.project.ai.notebook.NotebookSpec":{"type":"object","description":"AI Solutions Notebook Spec Object to create a notebook","properties":{"env":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.notebook.NotebookEnv"}],"description":"Environment to deploy in this notebook","readOnly":true},"envVars":{"type":"array","description":"List of environment variables to be set inside the notebook","items":{"$ref":"#/components/schemas/cloud.project.ai.job.JobEnv"},"readOnly":true},"flavor":{"type":"string","description":"Current notebook flavor","nullable":true,"readOnly":true},"labels":{"type":"object","description":"Labels for the notebook","nullable":true,"additionalProperties":{"type":"string"},"readOnly":true},"name":{"type":"string","description":"Notebook name","readOnly":true},"quantumResources":{"allOf":[{"$ref":"#/components/schemas/cloud.project.quantum.QuantumResources"}],"description":"Quantum resources","nullable":true,"readOnly":true},"region":{"type":"string","description":"Host region of the notebook","readOnly":true},"resources":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.Resources"}],"description":"Notebook resources","readOnly":true},"shutdown":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.ShutdownStrategyEnum"}],"description":"Shutdown strategy (if any)","nullable":true,"readOnly":true},"sshPublicKeys":{"type":"array","description":"SSH keys authorized to access the notebook","nullable":true,"items":{"type":"string"},"readOnly":true},"timeoutAutoRestart":{"type":"boolean","description":"Whether notebook is set to be restarted after timeout","nullable":true,"readOnly":true},"unsecureHttp":{"type":"boolean","description":"Whether notebook api port can be accessed without any authentication token","nullable":true,"readOnly":true},"volumes":{"type":"array","description":"Notebook Data linked","nullable":true,"items":{"$ref":"#/components/schemas/cloud.project.ai.volume.Volume"},"readOnly":true}}},"cloud.project.ai.notebook.NotebookSpecInput":{"type":"object","description":"AI Solutions Notebook Spec Object to create a notebook","properties":{"env":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.notebook.NotebookEnv"}],"description":"Environment to deploy in this notebook"},"envVars":{"type":"array","description":"List of environment variables to be set inside the notebook","nullable":true,"items":{"$ref":"#/components/schemas/cloud.project.ai.job.JobEnv"}},"labels":{"type":"object","description":"Labels are used to scope tokens, labels prefixed by 'ovh/' are owned by the platform and overridden","nullable":true,"additionalProperties":{"type":"string"}},"name":{"type":"string","description":"Notebook name"},"quantumResources":{"allOf":[{"$ref":"#/components/schemas/cloud.project.quantum.QuantumResourcesInput"}],"description":"Quantum resources","nullable":true},"region":{"type":"string","description":"Host region of the notebook"},"resources":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.ResourcesInput"}],"description":"Notebook resources"},"shutdown":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.ShutdownStrategyEnum"}],"description":"Shutdown strategy (if any)","nullable":true,"readOnly":true},"sshPublicKeys":{"type":"array","description":"SSH keys authorized to access the notebook","nullable":true,"items":{"type":"string"}},"timeoutAutoRestart":{"type":"boolean","description":"Whether notebook is set to be restarted after timeout","nullable":true},"unsecureHttp":{"type":"boolean","description":"Whether notebook api port can be accessed without any authentication token","nullable":true},"volumes":{"type":"array","description":"Notebook Data linked","nullable":true,"items":{"$ref":"#/components/schemas/cloud.project.ai.volume.Volume"}}},"required":["env","region","resources"]},"cloud.project.ai.notebook.NotebookStateEnum":{"type":"string","description":"State of the notebook","enum":["DELETING","ERROR","FAILED","RESTARTING","RUNNING","STARTING","STOPPED","STOPPING","SYNC_FAILED"]},"cloud.project.ai.notebook.NotebookStatus":{"type":"object","description":"AI Solutions Notebook Status Object","properties":{"dataSync":{"type":"array","description":"Status about the datasync linked to the job","items":{"$ref":"#/components/schemas/cloud.project.ai.volume.DataSync"},"readOnly":true},"duration":{"type":"integer","description":"Duration of the notebook in seconds","nullable":true,"readOnly":true},"grpcAddress":{"type":"string","description":"Address to reach when you want to access the Notebook's gRPC services","nullable":true,"readOnly":true},"info":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.Info"}],"description":"Information about the notebook","readOnly":true},"infoUrl":{"type":"string","description":"Notebook info url","nullable":true,"readOnly":true},"lastJobStatus":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.job.JobStatus"}],"description":"Status for the last job run","readOnly":true},"lastStartedAt":{"type":"string","description":"Date when the notebook was last started","nullable":true,"format":"date-time","readOnly":true},"lastStoppedAt":{"type":"string","description":"Date when the notebook was last stopped","nullable":true,"format":"date-time","readOnly":true},"monitoringUrl":{"type":"string","description":"Notebook resource usage url","nullable":true,"readOnly":true},"sshUrl":{"type":"string","description":"SSH Url for the notebook","nullable":true,"readOnly":true},"state":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.notebook.NotebookStateEnum"}],"description":"State of the notebook","nullable":true,"readOnly":true},"url":{"type":"string","description":"Notebook access url","nullable":true,"readOnly":true},"volumes":{"type":"array","description":"Notebook Data linked","nullable":true,"items":{"$ref":"#/components/schemas/cloud.project.ai.volume.VolumeStatus"},"readOnly":true},"workspace":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.notebook.NotebookWorkspace"}],"description":"State of the notebook workspace","nullable":true,"readOnly":true}}},"cloud.project.ai.notebook.NotebookUpdate":{"type":"object","description":"AI Solutions Notebook Spec Object to update a notebook","properties":{"frameworkVersion":{"type":"string","description":"Framework version","nullable":true},"labels":{"type":"object","description":"Labels for the notebook","nullable":true,"additionalProperties":{"type":"string"}},"name":{"type":"string","description":"Notebook name","nullable":true},"quantumResources":{"allOf":[{"$ref":"#/components/schemas/cloud.project.quantum.QuantumResourcesInput"}],"description":"Quantum resources","nullable":true},"resources":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.ResourcesInput"}],"description":"Notebook resources","nullable":true},"sshPublicKeys":{"type":"array","description":"SSH keys authorized to access the notebook","nullable":true,"items":{"type":"string"}},"timeoutAutoRestart":{"type":"boolean","description":"Whether notebook is set to be restarted after timeout","nullable":true},"unsecureHttp":{"type":"boolean","description":"Whether notebook api port can be accessed without any authentication token","nullable":true},"volumes":{"type":"array","description":"Notebook Data linked","nullable":true,"items":{"$ref":"#/components/schemas/cloud.project.ai.volume.Volume"}}}},"cloud.project.ai.notebook.NotebookWorkspace":{"type":"object","description":"AI Solutions Notebook Workspace Object","properties":{"storageFree":{"type":"integer","description":"The number of storage bytes free of charges for notebook workspace","readOnly":true},"storageUsed":{"type":"integer","description":"The number of storage bytes currently used to persist notebook workspace","readOnly":true}}},"cloud.project.ai.notebook.NotebookWorkspaceBackupRetentionPolicy":{"type":"object","description":"Representation of a notebook workspace backup retention policy","properties":{"lifetimeEvictionThreshold":{"type":"integer","description":"Position in the backup history from which the lifetime-based eviction can be applied to a workspace backup","readOnly":true},"lifetimeInDays":{"type":"integer","description":"Maximum number of retention days for a given notebook's workspace backups which is at or after lifetime_eviction_threshold index in history","readOnly":true},"retainedNumber":{"type":"integer","description":"The number of retained workspace backups for a given notebook","readOnly":true}}},"cloud.project.ai.notebook.NotebookWorkspaceBackupRetentionPolicyInput":{"type":"object","description":"Representation of an override of a notebook workspace backup retention policy","properties":{"lifetimeEvictionThreshold":{"type":"integer","description":"Position in the backup history from which the lifetime-based eviction can be applied to a workspace backup","nullable":true},"lifetimeInDays":{"type":"integer","description":"Maximum number of retention days for a given notebook's workspace backups which is at or after lifetime_eviction_threshold index in history","nullable":true},"retainedNumber":{"type":"integer","description":"The number of retained workspace backups for a given notebook","nullable":true}}},"cloud.project.ai.partner.Contract":{"type":"object","description":"Representation of a partner's contract with logged in user's tenant","properties":{"signedAt":{"type":"string","description":"Contract signature date for the logged in user's tenant","nullable":true,"format":"date-time","readOnly":true},"termsOfService":{"type":"object","description":"Map of terms of service details per locale","additionalProperties":{"$ref":"#/components/schemas/cloud.project.ai.partner.ContractTermsLocale"},"readOnly":true}}},"cloud.project.ai.partner.ContractTermsLocale":{"type":"object","description":"Representation of a partner's contract on a given language","properties":{"url":{"type":"string","description":"Contract file URL for a given language","readOnly":true}}},"cloud.project.ai.partner.Partner":{"type":"object","description":"Representation of a partner","properties":{"contract":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.partner.Contract"}],"description":"Partner contract with logged in user's tenant","nullable":true,"readOnly":true},"createdAt":{"type":"string","description":"Partner creation date","format":"date-time","readOnly":true},"description":{"type":"string","description":"Partner Description","readOnly":true},"id":{"type":"string","description":"Partner Id","readOnly":true},"name":{"type":"string","description":"Partner Name","readOnly":true}}},"cloud.project.ai.registry.Registry":{"type":"object","description":"Representation of a registry","properties":{"createdAt":{"type":"string","description":"Registry creation date","format":"date-time","readOnly":true},"id":{"type":"string","description":"Registry Id","readOnly":true},"password":{"type":"string","description":"Docker registry password","nullable":true,"format":"password"},"region":{"type":"string","description":"Region where the registry is available"},"updatedAt":{"type":"string","description":"Registry update date","format":"date-time","readOnly":true},"url":{"type":"string","description":"Docker registry URL","nullable":true},"user":{"type":"string","description":"Registry user creator","readOnly":true},"username":{"type":"string","description":"Docker registry username","nullable":true}},"required":["password","region","url","username"]},"cloud.project.ai.registry.RegistryUpdateInput":{"type":"object","description":"Docker registry update object","properties":{"password":{"type":"string","description":"Docker registry password","nullable":true,"format":"password"},"url":{"type":"string","description":"Docker registry URL","nullable":true},"username":{"type":"string","description":"Docker registry username","nullable":true}}},"cloud.project.ai.token.Token":{"type":"object","description":"AI Solutions Application Token","properties":{"createdAt":{"type":"string","description":"Application token creation date","format":"date-time","readOnly":true},"id":{"type":"string","description":"Application token Id","format":"uuid","readOnly":true},"spec":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.token.TokenSpec"}],"description":"Application token spec","readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.token.TokenStatus"}],"description":"Application token status","readOnly":true},"updatedAt":{"type":"string","description":"Application token update date","format":"date-time","readOnly":true}}},"cloud.project.ai.token.TokenSpec":{"type":"object","description":"AI Solutions Application Token Spec Object to create a notebook","properties":{"labelSelector":{"type":"string","description":"Application token label selector","nullable":true},"name":{"type":"string","description":"Application token name"},"region":{"type":"string","description":"Public Cloud Storage Region"},"role":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.TokenRoleEnum"}],"description":"Role granted by this application token"}},"required":["name","region","role"]},"cloud.project.ai.token.TokenStatus":{"type":"object","description":"AI Solutions Application Token Status Object","properties":{"value":{"type":"string","description":"Application token value to use as a Bearer","nullable":true,"format":"password","readOnly":true},"version":{"type":"integer","description":"Application token version","readOnly":true}}},"cloud.project.ai.volume.DataStore":{"type":"object","description":"AI Solutions data store container Volume Object","properties":{"alias":{"type":"string","description":"Data store alias"},"archive":{"type":"string","description":"Name of the tar archive that needs to be saved","nullable":true},"container":{"type":"string","description":"Data store container to attach"},"internal":{"type":"boolean","description":"True if data is stored on OVHcloud AI's internal storage","nullable":true},"prefix":{"type":"string","description":"Prefix to fetch only part of the volume","nullable":true}},"required":["alias","container"]},"cloud.project.ai.volume.DataSync":{"type":"object","description":"AI Solutions Data Sync","properties":{"createdAt":{"type":"string","description":"Data Sync creation date","format":"date-time","readOnly":true},"id":{"type":"string","description":"Data Sync Id","format":"uuid","readOnly":true},"spec":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.volume.DataSyncSpec"}],"description":"Data Sync specifications","readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.volume.DataSyncStatus"}],"description":"Data Sync status","readOnly":true},"updatedAt":{"type":"string","description":"Data Sync update date","format":"date-time","readOnly":true}}},"cloud.project.ai.volume.DataSyncEnum":{"type":"string","description":"Data Sync Direction","enum":["pull","push"]},"cloud.project.ai.volume.DataSyncProgressStateEnum":{"type":"string","description":"State of the progress sync","enum":["DONE","ERROR","FAILED","FORBIDDEN","INTERRUPTED","INVALID_CREDENTIALS","NOT_FOUND","QUEUED","RUNNING","TRANSIENT_ERROR","UNKNOWN_ERROR"]},"cloud.project.ai.volume.DataSyncSpec":{"type":"object","description":"AI Solutions Data Sync Spec","properties":{"direction":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.volume.DataSyncEnum"}],"description":"Direction of the sync"},"manual":{"type":"boolean","description":"True if the user has created the object","readOnly":true},"volume":{"type":"string","description":"Only sync this volume","nullable":true,"format":"uuid"}}},"cloud.project.ai.volume.DataSyncStateEnum":{"type":"string","description":"State of the data sync","enum":["DONE","ERROR","FAILED","INTERRUPTED","QUEUED","RUNNING"]},"cloud.project.ai.volume.DataSyncStatus":{"type":"object","description":"AI Solutions Data Sync Status","properties":{"endedAt":{"type":"string","description":"Date when the data sync ended","nullable":true,"format":"date-time","readOnly":true},"info":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.Info"}],"description":"Information about the data sync","readOnly":true},"progress":{"type":"array","description":"Progress status of the data sync","items":{"$ref":"#/components/schemas/cloud.project.ai.volume.Progress"},"readOnly":true},"queuedAt":{"type":"string","description":"Date when the data sync was queued","format":"date-time","readOnly":true},"startedAt":{"type":"string","description":"Date when the data sync was started","nullable":true,"format":"date-time","readOnly":true},"state":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.volume.DataSyncStateEnum"}],"description":"State of the data sync","readOnly":true}}},"cloud.project.ai.volume.Progress":{"type":"object","description":"AI Solutions Progress Object","properties":{"completed":{"type":"integer","description":"Number of completed files","readOnly":true},"createdAt":{"type":"string","description":"Progress creation date","format":"date-time","readOnly":true},"deleted":{"type":"integer","description":"Number of deleted files","readOnly":true},"direction":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.volume.DataSyncEnum"}],"description":"Direction of the progress sync","readOnly":true},"eta":{"type":"integer","description":"ETA to finish in seconds. Deprecated","nullable":true,"readOnly":true},"failed":{"type":"integer","description":"Number of failed files","readOnly":true},"id":{"type":"string","description":"Progress Id","format":"uuid","readOnly":true},"info":{"type":"string","description":"Volume information","readOnly":true},"processed":{"type":"integer","description":"Number of processed files","readOnly":true},"skipped":{"type":"integer","description":"Number of skipped files","readOnly":true},"state":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.volume.DataSyncProgressStateEnum"}],"description":"State of the progress sync","readOnly":true},"total":{"type":"integer","description":"Total number of files","readOnly":true},"transferredBytes":{"type":"integer","description":"Transferred size in bytes","readOnly":true},"updatedAt":{"type":"string","description":"Progress update date","format":"date-time","readOnly":true}}},"cloud.project.ai.volume.PublicGit":{"type":"object","description":"AI Solutions public Git repository Volume Object","properties":{"url":{"type":"string","description":"URL of the public git repository"}},"required":["url"]},"cloud.project.ai.volume.PublicSwift":{"type":"object","description":"AI Solutions public Swift container Volume Object","properties":{"url":{"type":"string","description":"URL of the public swift container"}},"required":["url"]},"cloud.project.ai.volume.Standalone":{"type":"object","description":"AI Solutions No Source Volume Object","properties":{"name":{"type":"string","description":"Name of the volume","nullable":true}}},"cloud.project.ai.volume.Volume":{"type":"object","description":"AI Solutions Volume Object","properties":{"cache":{"type":"boolean","description":"Enable/disable volume caching"},"container":{"type":"string","description":"Public Cloud Storage container to attach","nullable":true},"dataStore":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.volume.DataStore"}],"description":"Volume details for data store containers. Deprecated: Use volumeSource.dataStore instead","nullable":true},"id":{"type":"string","description":"Volume Id. Deprecated: moved to status.volumes[]","nullable":true,"format":"uuid","readOnly":true},"mountPath":{"type":"string","description":"Path where to mount the data inside the container"},"permission":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.VolumePermissionEnum"}],"description":"Permissions to use on the mounted volume"},"prefix":{"type":"string","description":"Prefix to fetch only part of the volume","nullable":true},"publicGit":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.volume.PublicGit"}],"description":"Volume details for public git repositories. Deprecated: Use volumeSource.publicGit instead","nullable":true},"publicSwift":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.volume.PublicSwift"}],"description":"Volume details for public swift containers. Deprecated: Use volumeSource.publicSwift instead","nullable":true},"region":{"type":"string","description":"Public Cloud Storage Region","nullable":true},"standalone":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.volume.Standalone"}],"description":"Volume details for volumes that do not have a datasource. Deprecated: Use volumeSource.standalone instead","nullable":true},"targetDataStore":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.volume.DataStore"}],"description":"Target volume details for data store containers. Deprecated: Use volumeTarget.targetDataStore instead","nullable":true},"volumeSource":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.volume.VolumeSource"}],"description":"Source volume details","nullable":true},"volumeTarget":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.volume.VolumeTarget"}],"description":"Target volume details","nullable":true}},"required":["mountPath","permission"]},"cloud.project.ai.volume.VolumeSource":{"type":"object","description":"AI Solutions VolumeSource Object. Describes a source (object store) volume","properties":{"dataStore":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.volume.DataStore"}],"description":"Volume details for data store containers","nullable":true},"publicGit":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.volume.PublicGit"}],"description":"Volume details for public git repositories","nullable":true},"publicSwift":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.volume.PublicSwift"}],"description":"Volume details for public swift containers","nullable":true},"standalone":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.volume.Standalone"}],"description":"Volume details for volumes that do not have a datasource","nullable":true}}},"cloud.project.ai.volume.VolumeStatus":{"type":"object","description":"AI Solutions Volume Object","properties":{"id":{"type":"string","description":"Volume Id","format":"uuid","readOnly":true},"mountPath":{"type":"string","description":"Path where the data is mounted inside the container","readOnly":true},"userVolumeId":{"type":"string","description":"User volume Id","format":"uuid","readOnly":true}}},"cloud.project.ai.volume.VolumeTarget":{"type":"object","description":"AI Solutions VolumeTarget Object. Describes a target (object store) volume","properties":{"targetDataStore":{"allOf":[{"$ref":"#/components/schemas/cloud.project.ai.volume.DataStore"}],"description":"Volume details for data store containers","nullable":true}}},"cloud.project.certificate.Import":{"type":"object","description":"Import external certificate","properties":{"cert":{"type":"string","description":"PEM encoded certificate"},"chain":{"type":"string","description":"Optional PEM encoded certificate chain","nullable":true},"key":{"type":"string","description":"PEM encoded certificate private key","format":"password"}},"required":["cert","key"]},"cloud.project.certificate.ServerAlternativeName":{"type":"object","description":"Certificate SAN","properties":{"kind":{"allOf":[{"$ref":"#/components/schemas/cloud.project.certificate.ServerAlternativeNameKindEnum"}],"description":"SAN kind","readOnly":true},"name":{"type":"string","description":"Name of the given kind","readOnly":true}}},"cloud.project.certificate.ServerAlternativeNameKindEnum":{"type":"string","description":"SAN kind","enum":["DNS","EMAIL","IP","URI"]},"cloud.project.database.Availability":{"type":"object","description":"Availability of databases engines on cloud projects","properties":{"backup":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.BackupTypeEnum"}],"description":"Defines the type of backup. DEPRECATED: use backups.enable","readOnly":true},"backupRetentionDays":{"type":"integer","description":"Backup retention time of the availability in days. DEPRECATED: use backups.retentionDays","readOnly":true},"backups":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.availability.Backups"}],"description":"Defines backups strategy for the availability","readOnly":true},"category":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.engine.CategoryEnum"}],"description":"Category of the engine","readOnly":true},"default":{"type":"boolean","description":"Whether this availability can be used by default","readOnly":true},"endOfLife":{"type":"string","description":"End of life of the product. DEPRECATED: use lifecycle.endOfLife","nullable":true,"format":"date","readOnly":true},"engine":{"type":"string","description":"Database engine name","readOnly":true},"flavor":{"type":"string","description":"Flavor name. DEPRECATED: use specifications.flavor","readOnly":true},"lifecycle":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.availability.Lifecycle"}],"description":"Defines the lifecycle of the availability","readOnly":true},"maxDiskSize":{"type":"integer","description":"Maximum possible disk size in GB. DEPRECATED: use specifications.storage.maximum","readOnly":true},"maxNodeNumber":{"type":"integer","description":"Maximum nodes of the cluster. DEPRECATED: use specifications.nodes.maximum","readOnly":true},"minDiskSize":{"type":"integer","description":"Minimum possible disk size in GB. DEPRECATED: use specifications.storage.minimum","readOnly":true},"minNodeNumber":{"type":"integer","description":"Minimum nodes of the cluster. DEPRECATED: use specifications.nodes.minimum","readOnly":true},"network":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.NetworkTypeEnum"}],"description":"Type of network. DEPRECATED: use specifications.network","readOnly":true},"plan":{"type":"string","description":"Plan name","readOnly":true},"planCode":{"type":"string","description":"Billing plan code","readOnly":true},"planCodeStorage":{"type":"string","description":"Billing plan code for storage","readOnly":true},"planCodes":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.availability.PlanCodes"}],"description":"Split pricing plan codes","nullable":true,"readOnly":true},"region":{"type":"string","description":"Region name","readOnly":true},"specifications":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.availability.Specifications"}],"description":"Defines the technical specifications of the availability","readOnly":true},"startDate":{"type":"string","description":"Date of the release of the product. DEPRECATED: use lifecycle.startDate","format":"date","readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.availability.StatusEnum"}],"description":"Status of the availability. DEPRECATED: use lifecycle.status","readOnly":true},"stepDiskSize":{"type":"integer","description":"Flex disk size step in GB. DEPRECATED: use specifications.storage.step","readOnly":true},"upstreamEndOfLife":{"type":"string","description":"End of life of the upstream product. DEPRECATED: use lifecycle","nullable":true,"format":"date","readOnly":true},"version":{"type":"string","description":"Version name","readOnly":true}}},"cloud.project.database.Backup":{"type":"object","description":"Cloud database backup definition","properties":{"createdAt":{"type":"string","description":"Date of the creation of the backup","format":"date-time","readOnly":true},"description":{"type":"string","description":"Description of the backup"},"id":{"type":"string","description":"Backup ID","format":"uuid","readOnly":true},"region":{"type":"string","description":"Region where the backup is stored. DEPRECATED: use regions","readOnly":true},"regions":{"type":"array","description":"Regions where the backup are stored","items":{"$ref":"#/components/schemas/cloud.project.database.backup.Region"},"readOnly":true},"size":{"allOf":[{"$ref":"#/components/schemas/complexType.UnitAndValue_long"}],"description":"Size of the backup","readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.StatusEnum"}],"description":"Current status of the backup","readOnly":true},"type":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.BackupTypeEnum"}],"description":"Type of backup","readOnly":true}}},"cloud.project.database.BackupTypeEnum":{"type":"string","description":"Type of backup for the cluster","enum":["automatic","manual","none","pitr","snapshot"]},"cloud.project.database.Capabilities":{"type":"object","description":"Capabilities available for the databases engines on cloud projects","properties":{"diskTypes":{"type":"array","description":"Disk types available, with their availability regions and performance specifications","items":{"$ref":"#/components/schemas/cloud.project.database.capabilities.DiskType"},"readOnly":true},"disks":{"type":"array","description":"Disks available","items":{"type":"string"},"readOnly":true},"engines":{"type":"array","description":"Database engines available","items":{"$ref":"#/components/schemas/cloud.project.database.capabilities.Engine"},"readOnly":true},"flavors":{"type":"array","description":"Flavors available","items":{"$ref":"#/components/schemas/cloud.project.database.capabilities.Flavor"},"readOnly":true},"options":{"type":"array","description":"Options available","items":{"$ref":"#/components/schemas/cloud.project.database.capabilities.Option"},"readOnly":true},"plans":{"type":"array","description":"Plans available","items":{"$ref":"#/components/schemas/cloud.project.database.capabilities.Plan"},"readOnly":true},"regions":{"type":"array","description":"Regions available","items":{"type":"string"},"readOnly":true}}},"cloud.project.database.EngineEnum":{"type":"string","description":"Possible names of the engines","enum":["clickhouse","grafana","kafka","kafkaConnect","kafkaMirrorMaker","mongodb","mysql","opensearch","postgresql","valkey"]},"cloud.project.database.NetworkTypeEnum":{"type":"string","description":"Type of network in which the databases cluster are","enum":["private","public"]},"cloud.project.database.Service":{"type":"object","description":"Cloud database service definition","properties":{"backupTime":{"allOf":[{"$ref":"#/components/schemas/time"}],"description":"Time on which backups start every day. DEPRECATED: use backups.time"},"backups":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.service.Backup"}],"description":"Information related to the backups, null if the engine does not support backups","nullable":true},"capabilities":{"type":"object","description":"Capabilities of the services","additionalProperties":{"$ref":"#/components/schemas/cloud.project.database.service.CapabilityActions"},"readOnly":true},"category":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.engine.CategoryEnum"}],"description":"Category of the engine","readOnly":true},"createdAt":{"type":"string","description":"Date of the creation of the cluster","format":"date-time","readOnly":true},"deletionProtection":{"type":"boolean","description":"Enable deletion protection","nullable":true},"description":{"type":"string","description":"Description of the cluster"},"disk":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.service.Disk"}],"description":"Disk attributes of the cluster. DEPRECATED: use storage"},"enablePrometheus":{"type":"boolean","description":"Enable Prometheus","nullable":true},"endpoints":{"type":"array","description":"List of all endpoints of the service","items":{"$ref":"#/components/schemas/cloud.project.database.service.Endpoint"},"readOnly":true},"engine":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.EngineEnum"}],"description":"Name of the engine of the service","readOnly":true},"flavor":{"type":"string","description":"The VM flavor used for this cluster"},"id":{"type":"string","description":"Service ID","format":"uuid","readOnly":true},"ipRestrictions":{"type":"array","description":"IP Blocks authorized to access to the cluster","items":{"$ref":"#/components/schemas/cloud.project.database.service.IpRestriction"}},"maintenanceTime":{"allOf":[{"$ref":"#/components/schemas/time"}],"description":"Time on which maintenances can start every day"},"networkId":{"type":"string","description":"Private network ID in which the cluster is","nullable":true,"format":"uuid"},"networkType":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.NetworkTypeEnum"}],"description":"Type of network of the cluster","readOnly":true},"nodeNumber":{"type":"integer","description":"Number of nodes in the cluster. DEPRECATED: use nodes"},"nodes":{"type":"array","description":"Nodes of the cluster","items":{"$ref":"#/components/schemas/cloud.project.database.service.Node"},"readOnly":true},"openstackRegion":{"type":"string","description":"OpenStack region of the cluster","nullable":true,"readOnly":true},"plan":{"type":"string","description":"Plan of the cluster"},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.StatusEnum"}],"description":"Current status of the cluster","readOnly":true},"storage":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.service.Storage"}],"description":"Storage attributes of the cluster","nullable":true},"subnetId":{"type":"string","description":"Private subnet ID in which the cluster is","nullable":true,"format":"uuid"},"version":{"type":"string","description":"Version of the engine deployed on the cluster"}}},"cloud.project.database.ServiceCreation":{"type":"object","description":"Cloud databases cluster definition","properties":{"backup":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.service.creation.BackupFork"}],"description":"Backup from which the new service is created. DEPRECATED: use forkFrom","nullable":true},"backupTime":{"allOf":[{"$ref":"#/components/schemas/time"}],"description":"Time on which backups start every day. DEPRECATED: use backups.time","nullable":true},"backups":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.service.Backup"}],"description":"Information related to the backups, null if the engine does not support backups","nullable":true},"description":{"type":"string","description":"Description of the cluster"},"disk":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.service.Disk"}],"description":"Disk attributes of the cluster"},"forkFrom":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.service.creation.ForkFrom"}],"description":"Backup from which the new service is created","nullable":true},"ipRestrictions":{"type":"array","description":"IP Blocks authorized to access to the cluster","items":{"$ref":"#/components/schemas/cloud.project.database.service.IpRestriction"}},"maintenanceTime":{"allOf":[{"$ref":"#/components/schemas/time"}],"description":"Time on which maintenances can start every day","nullable":true},"networkId":{"type":"string","description":"Private network ID in which the cluster is","nullable":true,"format":"uuid"},"nodesList":{"type":"array","description":"List of nodes in the cluster, not compatible with nodesPattern","nullable":true,"items":{"$ref":"#/components/schemas/cloud.project.database.service.NodeCreation"}},"nodesPattern":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.service.NodePattern"}],"description":"Pattern definition of the nodes in the cluster, not compatible with nodesList","nullable":true},"plan":{"type":"string","description":"Plan of the cluster"},"subnetId":{"type":"string","description":"Private subnet ID in which the cluster is","nullable":true,"format":"uuid"},"version":{"type":"string","description":"Version of the engine deployed on the cluster"}}},"cloud.project.database.ServiceWithoutPrometheus":{"type":"object","description":"Cloud database service definition without prometheus enabler","properties":{"backupTime":{"allOf":[{"$ref":"#/components/schemas/time"}],"description":"Time on which backups start every day. DEPRECATED: use backups.time"},"backups":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.service.Backup"}],"description":"Information related to the backups, null if the engine does not support backups","nullable":true},"capabilities":{"type":"object","description":"Capabilities of the services","additionalProperties":{"$ref":"#/components/schemas/cloud.project.database.service.CapabilityActions"},"readOnly":true},"category":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.engine.CategoryEnum"}],"description":"Category of the engine","readOnly":true},"createdAt":{"type":"string","description":"Date of the creation of the cluster","format":"date-time","readOnly":true},"description":{"type":"string","description":"Description of the cluster"},"disk":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.service.Disk"}],"description":"Disk attributes of the cluster. DEPRECATED: use storage"},"endpoints":{"type":"array","description":"List of all endpoints of the service","items":{"$ref":"#/components/schemas/cloud.project.database.service.Endpoint"},"readOnly":true},"engine":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.EngineEnum"}],"description":"Name of the engine of the service","readOnly":true},"flavor":{"type":"string","description":"The VM flavor used for this cluster"},"id":{"type":"string","description":"Service ID","format":"uuid","readOnly":true},"ipRestrictions":{"type":"array","description":"IP Blocks authorized to access to the cluster","items":{"$ref":"#/components/schemas/cloud.project.database.service.IpRestriction"}},"maintenanceTime":{"allOf":[{"$ref":"#/components/schemas/time"}],"description":"Time on which maintenances can start every day"},"networkId":{"type":"string","description":"Private network ID in which the cluster is","nullable":true,"format":"uuid"},"networkType":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.NetworkTypeEnum"}],"description":"Type of network of the cluster","readOnly":true},"nodeNumber":{"type":"integer","description":"Number of nodes in the cluster. DEPRECATED: use nodes"},"nodes":{"type":"array","description":"Nodes of the cluster","items":{"$ref":"#/components/schemas/cloud.project.database.service.Node"},"readOnly":true},"openstackRegion":{"type":"string","description":"OpenStack region of the cluster","nullable":true,"readOnly":true},"plan":{"type":"string","description":"Plan of the cluster"},"region":{"type":"string","description":"Region of the cluster","nullable":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.StatusEnum"}],"description":"Current status of the cluster","readOnly":true},"storage":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.service.Storage"}],"description":"Storage attributes of the cluster","nullable":true},"subnetId":{"type":"string","description":"Private subnet ID in which the cluster is","nullable":true,"format":"uuid"},"version":{"type":"string","description":"Version of the engine deployed on the cluster"}}},"cloud.project.database.StatusEnum":{"type":"string","description":"Possible state of the job","enum":["CREATING","DELETING","DRAINED","ERROR","LOCKED","LOCKED_PENDING","LOCKED_UPDATING","PENDING","READY","SHELVED","TO_DRAIN","UPDATING"]},"cloud.project.database.TemporaryWriteDeadline":{"type":"object","description":"Cloud databases temporary write deadline definition","properties":{"until":{"type":"string","description":"Date on which the temporary write permissions would be lifted","format":"date-time","readOnly":true}}},"cloud.project.database.TypeEnum":{"type":"string","description":"Type of data returned in the capabilities options","enum":["boolean","double","duration","long","string"]},"cloud.project.database.availability.ActionEnum":{"type":"string","description":"Possible action to restrict availabilities","enum":["fork","read","update"]},"cloud.project.database.availability.Backups":{"type":"object","description":"Backups availability of databases engines on cloud projects","properties":{"available":{"type":"boolean","description":"Defines whether the backups are available for this offer","readOnly":true},"retentionDays":{"type":"integer","description":"Number of retention days for the backups","nullable":true,"readOnly":true}}},"cloud.project.database.availability.Lifecycle":{"type":"object","description":"Availability of databases engines on cloud projects","properties":{"endOfLife":{"type":"string","description":"End of life of the product","nullable":true,"format":"date","readOnly":true},"endOfSale":{"type":"string","description":"End of sale of the product","nullable":true,"format":"date","readOnly":true},"startDate":{"type":"string","description":"Date of the release of the product","format":"date","readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.availability.StatusEnum"}],"description":"Status of the availability","readOnly":true}}},"cloud.project.database.availability.PlanCodes":{"type":"object","description":"Split pricing plan codes for database availability","properties":{"backup":{"type":"string","description":"Billing plan code for backup","nullable":true,"readOnly":true},"compute":{"type":"string","description":"Billing plan code for compute","readOnly":true},"storage":{"type":"string","description":"Billing plan code for storage","nullable":true,"readOnly":true}}},"cloud.project.database.availability.Specifications":{"type":"object","description":"Specifications of the availability of databases engines on cloud projects","properties":{"flavor":{"type":"string","description":"Flavor name","readOnly":true},"network":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.NetworkTypeEnum"}],"description":"Type of network","readOnly":true},"nodes":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.availability.specifications.Nodes"}],"description":"Specification of the nodes","readOnly":true},"storage":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.availability.specifications.Storage"}],"description":"Specification of the storage","nullable":true,"readOnly":true}}},"cloud.project.database.availability.StatusEnum":{"type":"string","description":"Possible status for the availability","enum":["BETA","DEPRECATED","END_OF_LIFE","END_OF_SALE","STABLE","UNAVAILABLE"]},"cloud.project.database.availability.TargetEnum":{"type":"string","description":"Possible target to restrict availabilities","enum":["flavor","plan","self","version"]},"cloud.project.database.availability.specifications.Nodes":{"type":"object","description":"Specifications of the nodes for availabilities of databases engines on cloud projects","properties":{"maximum":{"type":"integer","description":"Maximum number of nodes of the availability","readOnly":true},"minimum":{"type":"integer","description":"Minimum number of nodes of the availability","readOnly":true}}},"cloud.project.database.availability.specifications.Storage":{"type":"object","description":"Specifications of the storage for availabilities of databases engines on cloud projects","properties":{"maximum":{"allOf":[{"$ref":"#/components/schemas/complexType.UnitAndValue_long"}],"description":"Maximum storage of the availability","readOnly":true},"minimum":{"allOf":[{"$ref":"#/components/schemas/complexType.UnitAndValue_long"}],"description":"Minimum storage of the availability","readOnly":true},"step":{"allOf":[{"$ref":"#/components/schemas/complexType.UnitAndValue_long"}],"description":"Memory step that can be added between minimum and maximum","nullable":true,"readOnly":true},"typeSelection":{"type":"array","description":"Ordered rules mapping a requested disk size to the disk type that will be provisioned; the first rule whose conditions all match wins","nullable":true,"items":{"$ref":"#/components/schemas/cloud.project.database.availability.specifications.storage.TypeSelection"},"readOnly":true}}},"cloud.project.database.availability.specifications.storage.TypeSelection":{"type":"object","description":"Ordered rule mapping a requested disk size to the disk type that will be provisioned. The first rule whose conditions all match wins","properties":{"if":{"type":"array","description":"Conditions that must all match for this rule to apply","items":{"$ref":"#/components/schemas/cloud.project.database.availability.specifications.storage.typeSelection.Condition"},"readOnly":true},"then":{"type":"string","description":"Disk type provisioned when the conditions match","readOnly":true}}},"cloud.project.database.availability.specifications.storage.typeSelection.Condition":{"type":"object","description":"Single predicate over a storage attribute of a disk type selection rule (e.g. size gt 100)","properties":{"key":{"type":"string","description":"Storage attribute the predicate applies to (e.g. size)","readOnly":true},"operation":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.availability.specifications.storage.typeSelection.condition.OperationEnum"}],"description":"Comparison operator of the predicate","readOnly":true},"value":{"type":"integer","description":"Value the storage attribute is compared against","readOnly":true}}},"cloud.project.database.availability.specifications.storage.typeSelection.condition.OperationEnum":{"type":"string","description":"Comparison operator of a disk type selection condition","enum":["gt","gte"]},"cloud.project.database.backup.Region":{"type":"object","description":"Cloud database backup region definition","properties":{"name":{"type":"string","description":"Name of the region where the backup is stored","readOnly":true}}},"cloud.project.database.capabilities.DiskType":{"type":"object","description":"Disk type available for the databases engines on cloud projects, with its availability regions and performance specifications","properties":{"name":{"type":"string","description":"Name of the disk type","readOnly":true},"regions":{"type":"array","description":"Regions where the disk type is available","items":{"type":"string"},"readOnly":true},"specs":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.capabilities.diskType.Specs"}],"description":"Performance specifications of the disk type","nullable":true,"readOnly":true}}},"cloud.project.database.capabilities.Engine":{"type":"object","description":"Specific database engine capability","properties":{"category":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.engine.CategoryEnum"}],"description":"Category of the engine","readOnly":true},"defaultVersion":{"type":"string","description":"Default version used for the engine","readOnly":true},"description":{"type":"string","description":"Description of the engine","readOnly":true},"name":{"type":"string","description":"Engine name","readOnly":true},"sslModes":{"type":"array","description":"SSL modes for this engine","items":{"type":"string"},"readOnly":true},"storage":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.capabilities.engine.storage.StrategyEnum"}],"description":"Storage strategy of the engine","readOnly":true},"versions":{"type":"array","description":"Versions available for this engine","items":{"type":"string"},"readOnly":true}}},"cloud.project.database.capabilities.Flavor":{"type":"object","description":"Cloud Database flavor definition","properties":{"core":{"type":"integer","description":"Flavor core number. DEPRECATED: use specifications.core","readOnly":true},"generation":{"type":"string","description":"Flavor generation (e.g. gen1, gen2, gen3) used to group plans in the order funnel","readOnly":true},"lifecycle":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.availability.Lifecycle"}],"description":"Defines the lifecycle of the flavor","readOnly":true},"memory":{"type":"integer","description":"Flavor ram size in GB. DEPRECATED: use specifications.memory","readOnly":true},"name":{"type":"string","description":"Name of the flavor","readOnly":true},"order":{"type":"integer","description":"Display order","readOnly":true},"specifications":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.capabilities.flavor.Specifications"}],"description":"Technical specifications of the flavor","readOnly":true},"storage":{"type":"integer","description":"Flavor disk size in GB. DEPRECATED: use specifications.storage","readOnly":true},"tags":{"type":"array","description":"Display tags","items":{"type":"string"},"readOnly":true}}},"cloud.project.database.capabilities.Integration":{"type":"object","description":"Integration capability between database engines","properties":{"destinationEngine":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.EngineEnum"}],"description":"Destination engine for the integration","readOnly":true},"parameters":{"type":"array","description":"Parameters for the integration capability","nullable":true,"items":{"$ref":"#/components/schemas/cloud.project.database.capabilities.integration.Parameter"},"readOnly":true},"sourceEngine":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.EngineEnum"}],"description":"Source engine for the integration","readOnly":true},"type":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.service.integration.TypeEnum"}],"description":"Type of the integration","readOnly":true}}},"cloud.project.database.capabilities.Option":{"type":"object","description":"Cloud Database option definition","properties":{"name":{"type":"string","description":"Name of the option","readOnly":true},"type":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.TypeEnum"}],"description":"Type of the option","readOnly":true}}},"cloud.project.database.capabilities.Plan":{"type":"object","description":"Cloud Database plan definition","properties":{"backupRetention":{"type":"string","description":"Automatic backup retention duration","format":"duration","readOnly":true},"description":{"type":"string","description":"Description of the plan","readOnly":true},"lifecycle":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.availability.Lifecycle"}],"description":"Defines the lifecycle of the availability","readOnly":true},"name":{"type":"string","description":"Name of the plan","readOnly":true},"order":{"type":"integer","description":"Display order","readOnly":true},"tags":{"type":"array","description":"Display tags","items":{"type":"string"},"readOnly":true}}},"cloud.project.database.capabilities.advancedConfiguration.Property":{"type":"object","description":"Specific database engine capability","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 for the property if numeric and applicable","nullable":true,"readOnly":true},"minimum":{"type":"number","description":"Minimum value for the property if numeric and applicable","nullable":true,"readOnly":true},"name":{"type":"string","description":"Property name","readOnly":true},"type":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.capabilities.advancedConfiguration.property.TypeEnum"}],"description":"Data type of the property","readOnly":true},"values":{"type":"array","description":"Possible values for the property if string and applicable","nullable":true,"items":{"type":"string"},"readOnly":true}}},"cloud.project.database.capabilities.advancedConfiguration.property.TypeEnum":{"type":"string","description":"Possible type of the advanced configuration properties","enum":["boolean","double","long","string"]},"cloud.project.database.capabilities.diskType.Performance":{"type":"object","description":"Single performance dimension of a disk type: a min floor and a max ceiling, plus a per-GB rate when the dimension scales with disk size. A flat guaranteed value is exposed as min equal to max with no perGB","properties":{"max":{"type":"number","description":"Maximum value the dimension can reach","nullable":true,"readOnly":true},"min":{"type":"number","description":"Minimum guaranteed value of the dimension","nullable":true,"readOnly":true},"perGB":{"type":"number","description":"Per-GB rate when the dimension scales with disk size","nullable":true,"readOnly":true}}},"cloud.project.database.capabilities.diskType.Specs":{"type":"object","description":"Performance specifications of a disk type, grouped by performance dimension","properties":{"iops":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.capabilities.diskType.Performance"}],"description":"IOPS performance of the disk type","nullable":true,"readOnly":true},"throughput":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.capabilities.diskType.Performance"}],"description":"Throughput performance of the disk type","nullable":true,"readOnly":true}}},"cloud.project.database.capabilities.engine.storage.StrategyEnum":{"type":"string","description":"Possible storage strategy for an engine","enum":["distributed","n/a","replicated"]},"cloud.project.database.capabilities.flavor.Specifications":{"type":"object","description":"Cloud Database flavor specifications definition","properties":{"core":{"type":"integer","description":"Flavor core number","readOnly":true},"memory":{"allOf":[{"$ref":"#/components/schemas/complexType.UnitAndValue_long"}],"description":"Flavor ram size","readOnly":true},"storage":{"allOf":[{"$ref":"#/components/schemas/complexType.UnitAndValue_long"}],"description":"Flavor disk size","readOnly":true}}},"cloud.project.database.capabilities.integration.Parameter":{"type":"object","description":"Integration capability parameter","properties":{"name":{"type":"string","description":"Name of the integration parameter","readOnly":true},"type":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.capabilities.integration.parameter.TypeEnum"}],"description":"Type of the integration parameter","readOnly":true}}},"cloud.project.database.capabilities.integration.parameter.TypeEnum":{"type":"string","description":"Possible type of an integration capability parameter","enum":["integer","string"]},"cloud.project.database.clickhouse.QueryStatistics":{"type":"object","description":"Cloud database clickhouse query statistics response body definition","properties":{"queries":{"type":"array","description":"Statistics of the queries","items":{"$ref":"#/components/schemas/cloud.project.database.clickhouse.querystatistics.Query"},"readOnly":true}}},"cloud.project.database.clickhouse.querystatistics.Query":{"type":"object","description":"Cloud database clickhouse single query statistic definition","properties":{"calls":{"type":"integer","description":"Number of times this function has been called","readOnly":true},"database":{"type":"string","description":"Name of the database","readOnly":true},"maxTime":{"type":"integer","description":"Maximum query duration in milliseconds","readOnly":true},"meanTime":{"type":"integer","description":"Average query duration in milliseconds","readOnly":true},"minTime":{"type":"integer","description":"Minimum query duration in milliseconds","readOnly":true},"p95Time":{"type":"integer","description":"Query duration 95th percentile in milliseconds","readOnly":true},"query":{"type":"string","description":"Normalized query","readOnly":true},"rows":{"type":"number","description":"Average number of rows per call","readOnly":true},"stddevTime":{"type":"integer","description":"Query duration standard deviation in milliseconds","readOnly":true},"totalTime":{"type":"integer","description":"Total duration of all calls in milliseconds","readOnly":true}}},"cloud.project.database.engine.CategoryEnum":{"type":"string","description":"Different categories of engines","enum":["analysis","operational","streaming"]},"cloud.project.database.kafka.Permissions":{"type":"object","description":"Cloud databases kafka permissions definition","properties":{"names":{"type":"array","description":"Names of the topic permissions (DEPRECATED)","items":{"type":"string"},"readOnly":true},"schemaRegistry":{"type":"array","description":"Names of the schema registry permissions","items":{"type":"string"},"readOnly":true},"topic":{"type":"array","description":"Names of the topic permissions","items":{"type":"string"},"readOnly":true}}},"cloud.project.database.kafka.SchemaRegistryAcl":{"type":"object","description":"Cloud databases kafka schema registry acl definition","properties":{"id":{"type":"string","description":"Acl ID","format":"uuid","readOnly":true},"permission":{"type":"string","description":"Permission to give to this username on this resource. Permissions values can be retrieved using /cloud/project/{serviceName}/database/kafka/{clusterId}/permissions"},"resource":{"type":"string","description":"Resource affected by this acl"},"username":{"type":"string","description":"Username affected by this acl"}},"required":["permission","resource","username"]},"cloud.project.database.kafka.Service":{"type":"object","description":"Cloud database kafka service definition","properties":{"backupTime":{"allOf":[{"$ref":"#/components/schemas/time"}],"description":"Time on which backups start every day"},"backups":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.service.Backup"}],"description":"Information related to the backups, null if the engine does not support backups","nullable":true},"capabilities":{"type":"object","description":"Capabilities of the services","additionalProperties":{"$ref":"#/components/schemas/cloud.project.database.service.CapabilityActions"},"readOnly":true},"category":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.engine.CategoryEnum"}],"description":"Category of the engine","readOnly":true},"createdAt":{"type":"string","description":"Date of the creation of the cluster","format":"date-time","readOnly":true},"deletionProtection":{"type":"boolean","description":"Enable deletion protection","nullable":true},"description":{"type":"string","description":"Description of the cluster"},"disk":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.service.Disk"}],"description":"Disk attributes of the cluster. DEPRECATED: use storage"},"enablePrometheus":{"type":"boolean","description":"Enable Prometheus","nullable":true},"endpoints":{"type":"array","description":"List of all endpoints of the service","items":{"$ref":"#/components/schemas/cloud.project.database.service.Endpoint"},"readOnly":true},"engine":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.EngineEnum"}],"description":"Name of the engine of the service","readOnly":true},"flavor":{"type":"string","description":"The VM flavor used for this cluster"},"id":{"type":"string","description":"Service ID","format":"uuid","readOnly":true},"ipRestrictions":{"type":"array","description":"IP Blocks authorized to access to the cluster","items":{"$ref":"#/components/schemas/cloud.project.database.service.IpRestriction"}},"maintenanceTime":{"allOf":[{"$ref":"#/components/schemas/time"}],"description":"Time on which maintenances can start every day"},"networkId":{"type":"string","description":"Private network ID in which the cluster is","nullable":true,"format":"uuid"},"networkType":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.NetworkTypeEnum"}],"description":"Type of network of the cluster","readOnly":true},"nodeNumber":{"type":"integer","description":"Number of nodes in the cluster. DEPRECATED: useNodes"},"nodes":{"type":"array","description":"Nodes of the cluster","items":{"$ref":"#/components/schemas/cloud.project.database.service.Node"},"readOnly":true},"openstackRegion":{"type":"string","description":"OpenStack region of the cluster","nullable":true,"readOnly":true},"plan":{"type":"string","description":"Plan of the cluster"},"restApi":{"type":"boolean","description":"Defines whether the REST API is enabled on the cluster"},"schemaRegistry":{"type":"boolean","description":"Defines whether the schema registry is enabled on the cluster"},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.StatusEnum"}],"description":"Current status of the cluster","readOnly":true},"storage":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.service.Storage"}],"description":"Storage attributes of the cluster","nullable":true},"subnetId":{"type":"string","description":"Private subnet ID in which the cluster is","nullable":true,"format":"uuid"},"version":{"type":"string","description":"Version of the engine deployed on the cluster"}}},"cloud.project.database.kafka.Topic":{"type":"object","description":"Cloud database kafka topic definition","properties":{"id":{"type":"string","description":"Topic ID","format":"uuid","readOnly":true},"minInsyncReplicas":{"type":"integer","description":"Minimum insync replica accepted for this topic"},"name":{"type":"string","description":"Name of the topic","readOnly":true},"partitions":{"type":"integer","description":"Number of partitions for this topic"},"replication":{"type":"integer","description":"Number of replication for this topic"},"retentionBytes":{"type":"integer","description":"Number of bytes for the retention of the data for this topic"},"retentionHours":{"type":"integer","description":"Number of hours for the retention of the data for this topic"}}},"cloud.project.database.kafka.TopicAcl":{"type":"object","description":"Cloud databases kafka topic acl definition","properties":{"id":{"type":"string","description":"Acl ID","format":"uuid","readOnly":true},"permission":{"type":"string","description":"Permission to give to this username on this topic. Permissions values can be retrieved using /cloud/project/{serviceName}/database/kafka/{clusterId}/permissions"},"topic":{"type":"string","description":"Topic affected by this acl"},"username":{"type":"string","description":"Username affected by this acl"}},"required":["permission","topic","username"]},"cloud.project.database.kafka.TopicCreation":{"type":"object","description":"Cloud database kafka topic creation definition","properties":{"id":{"type":"string","description":"Topic ID","format":"uuid","readOnly":true},"minInsyncReplicas":{"type":"integer","description":"Minimum insync replica accepted for this topic"},"name":{"type":"string","description":"Name of the topic"},"partitions":{"type":"integer","description":"Number of partitions for this topic"},"replication":{"type":"integer","description":"Number of replication for this topic"},"retentionBytes":{"type":"integer","description":"Number of bytes for the retention of the data for this topic"},"retentionHours":{"type":"integer","description":"Number of hours for the retention of the data for this topic"}},"required":["name"]},"cloud.project.database.kafka.user.Access":{"type":"object","description":"Cloud databases kafka user access definition","properties":{"cert":{"type":"string","description":"User cert","readOnly":true},"key":{"type":"string","description":"User key for the cert","format":"password","readOnly":true}}},"cloud.project.database.kafkaConnect.Connector":{"type":"object","description":"KafkaConnect connector definition","properties":{"configuration":{"type":"object","description":"Configuration of the connector","additionalProperties":{"type":"string"}},"connectorId":{"type":"string","description":"Connector capability ID","format":"uuid","readOnly":true},"id":{"type":"string","description":"Connector ID","format":"uuid","readOnly":true},"name":{"type":"string","description":"Name of the connector","readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.kafkaConnect.connector.StatusEnum"}],"description":"Status of the connector","readOnly":true}},"required":["configuration"]},"cloud.project.database.kafkaConnect.ConnectorCreation":{"type":"object","description":"KafkaConnect connector definition","properties":{"configuration":{"type":"object","description":"Configuration of the connector","additionalProperties":{"type":"string"}},"connectorId":{"type":"string","description":"Connector capability ID","format":"uuid"},"name":{"type":"string","description":"Name of the connector"}},"required":["configuration","connectorId","name"]},"cloud.project.database.kafkaConnect.capabilities.Connector":{"type":"object","description":"KafkaConnect connector capability definition","properties":{"author":{"type":"string","description":"Name of the connector's author","readOnly":true},"documentationUrl":{"type":"string","description":"URL of the official documentation of the connector","readOnly":true},"id":{"type":"string","description":"Connector ID","format":"uuid","readOnly":true},"latest":{"type":"boolean","description":"Defines whether this connector and version is the latest available","readOnly":true},"name":{"type":"string","description":"Name of the connector","readOnly":true},"preview":{"type":"boolean","description":"Defines whether the connector is in preview","readOnly":true},"type":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.kafkaConnect.capabilities.connector.TypeEnum"}],"description":"Type of connector","readOnly":true},"version":{"type":"string","description":"Version of the connector","readOnly":true}}},"cloud.project.database.kafkaConnect.capabilities.connector.Transform":{"type":"object","description":"KafkaConnect connector transform definition","properties":{"description":{"type":"string","description":"Description of the transform","readOnly":true},"displayName":{"type":"string","description":"Pretty name of the transform","readOnly":true},"name":{"type":"string","description":"Name of the transform","readOnly":true},"required":{"type":"boolean","description":"Defines whether the transform is required","readOnly":true},"transformType":{"type":"string","description":"Transform type this transform relates to","readOnly":true},"type":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.kafkaConnect.connector.property.TypeEnum"}],"description":"Type of data of the transform","readOnly":true},"values":{"type":"array","description":"Possible values for the transform if applicable","nullable":true,"items":{"type":"string"},"readOnly":true}}},"cloud.project.database.kafkaConnect.capabilities.connector.TypeEnum":{"type":"string","description":"Possible types for the kafka connectors","enum":["sink","source"]},"cloud.project.database.kafkaConnect.capabilities.connector.configuration.Property":{"type":"object","description":"KafkaConnect connector config property definition","properties":{"defaultValue":{"type":"string","description":"Defines the default value is exists","nullable":true,"readOnly":true},"description":{"type":"string","description":"Description of the property","readOnly":true},"displayName":{"type":"string","description":"Pretty name of the property","readOnly":true},"group":{"type":"string","description":"Group to which belongs the property","readOnly":true},"importance":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.kafkaConnect.capabilities.connector.property.ImportanceEnum"}],"description":"Importance of the property","readOnly":true},"name":{"type":"string","description":"Name of the property","readOnly":true},"required":{"type":"boolean","description":"Defines whether the property is required","readOnly":true},"type":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.kafkaConnect.connector.property.TypeEnum"}],"description":"Type of data of the property","readOnly":true},"values":{"type":"array","description":"Possible values for the property if string and applicable","nullable":true,"items":{"type":"string"},"readOnly":true}}},"cloud.project.database.kafkaConnect.capabilities.connector.property.ImportanceEnum":{"type":"string","description":"Possible importance for the kafka connectors properties","enum":["high","low","medium"]},"cloud.project.database.kafkaConnect.connector.StatusEnum":{"type":"string","description":"Possible state of connector","enum":["CREATING","FAILED","PAUSED","RUNNING","UNASSIGNED"]},"cloud.project.database.kafkaConnect.connector.Task":{"type":"object","description":"KafkaConnect connector definition","properties":{"id":{"type":"integer","description":"Task ID","readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.kafkaConnect.connector.task.StatusEnum"}],"description":"Status of the task","readOnly":true},"trace":{"type":"string","description":"Trace of the task","readOnly":true}}},"cloud.project.database.kafkaConnect.connector.property.TypeEnum":{"type":"string","description":"Possible types for the kafka connectors properties","enum":["boolean","class","double","int16","int32","int64","list","password","string","transform"]},"cloud.project.database.kafkaConnect.connector.task.StatusEnum":{"type":"string","description":"Possible state of connector task","enum":["FAILED","PAUSED","RUNNING"]},"cloud.project.database.manager.capabilities.Engine":{"type":"object","description":"Specific database engine capability","properties":{"category":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.engine.CategoryEnum"}],"description":"Category of the engine","readOnly":true},"description":{"type":"string","description":"Description of the engine","readOnly":true},"lifecycle":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.availability.Lifecycle"}],"description":"Defines the lifecycle of the availability","readOnly":true},"name":{"type":"string","description":"Engine name","readOnly":true},"order":{"type":"integer","description":"Display order","readOnly":true},"sslModes":{"type":"array","description":"SSL modes for this engine","items":{"type":"string"},"readOnly":true},"storage":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.capabilities.engine.storage.StrategyEnum"}],"description":"Storage strategy of the engine","readOnly":true},"tags":{"type":"array","description":"Display tags","items":{"type":"string"},"readOnly":true},"versions":{"type":"array","description":"Versions available for this engine","items":{"$ref":"#/components/schemas/cloud.project.database.manager.capabilities.engine.Version"},"readOnly":true}}},"cloud.project.database.manager.capabilities.engine.Version":{"type":"object","description":"Specific database engine version","properties":{"default":{"type":"boolean","description":"Default version for the engine","readOnly":true},"lifecycle":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.availability.Lifecycle"}],"description":"Defines the lifecycle of the version","readOnly":true},"name":{"type":"string","description":"Version name","readOnly":true},"tags":{"type":"array","description":"Display tags","items":{"type":"string"},"readOnly":true}}},"cloud.project.database.mongodb.PrometheusEndpoint":{"type":"object","description":"Prometheus Endpoint for MongoDB","properties":{"srvDomain":{"type":"string","description":"Prometheus SRV domain for mongodb cluster","readOnly":true},"username":{"type":"string","description":"Name of the Prometheus access","readOnly":true}}},"cloud.project.database.mysql.Migration":{"type":"object","description":"Cloud database MySQL migration definition","properties":{"sourceHost":{"type":"string","description":"Source MySQL host"},"sourcePassword":{"type":"string","description":"Source MySQL user password","format":"password"},"sourcePort":{"type":"integer","description":"Source MySQL port"},"sourceSsl":{"type":"boolean","description":"Source MySQL ssl enabler"},"sourceUsername":{"type":"string","description":"Source MySQL username"}},"required":["sourceHost","sourcePassword","sourcePort","sourceSsl","sourceUsername"]},"cloud.project.database.mysql.MigrationResult":{"type":"object","description":"Cloud database MySQL migration result definition","properties":{"error":{"type":"string","description":"Error message","readOnly":true},"message":{"type":"string","description":"Information message","readOnly":true},"method":{"type":"string","description":"Method used for the migration","readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.mysql.migration.StatusEnum"}],"description":"Status of the migration","readOnly":true}}},"cloud.project.database.mysql.QueryStatistics":{"type":"object","description":"Cloud database MySQL query statistics response body definition","properties":{"queries":{"type":"array","description":"Statistics of the queries","items":{"$ref":"#/components/schemas/cloud.project.database.mysql.querystatistics.Query"},"readOnly":true}}},"cloud.project.database.mysql.migration.CheckResult":{"type":"object","description":"Cloud database MySQL migration check result definition","properties":{"result":{"type":"string","description":"Migration result message","readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.mysql.migration.StatusEnum"}],"description":"Status of the migration check task","readOnly":true},"success":{"type":"boolean","description":"Success status of the migration check","readOnly":true}}},"cloud.project.database.mysql.migration.StatusEnum":{"type":"string","description":"Possible state of the mysql migration","enum":["done","failed","running","syncing","waiting"]},"cloud.project.database.mysql.querystatistics.Query":{"type":"object","description":"Cloud database MySQL single query statistic definition","properties":{"avgTimerWait":{"type":"number","description":"Average wait time of the summarized timed events, in milliseconds","readOnly":true},"countStar":{"type":"integer","description":"Number of summarized events. This value includes all events, whether timed or nontimed","readOnly":true},"digest":{"type":"string","description":"Digest of the summarized events","readOnly":true},"digestText":{"type":"string","description":"Text of the summarized digest events","readOnly":true},"firstSeen":{"type":"string","description":"First appearance of the events","format":"date-time","readOnly":true},"lastSeen":{"type":"string","description":"Last appearance of the events","format":"date-time","readOnly":true},"maxTimerWait":{"type":"number","description":"Maximum wait time of the summarized timed events, in milliseconds","readOnly":true},"minTimerWait":{"type":"number","description":"Mininum wait time of the summarized timed events, in milliseconds","readOnly":true},"quantile95":{"type":"integer","description":"95th percentile of the statement latency, in picoseconds","readOnly":true},"quantile99":{"type":"integer","description":"99th percentile of the statement latency, in picoseconds","readOnly":true},"quantile999":{"type":"integer","description":"99.9th percentile of the statement latency, in picoseconds","readOnly":true},"querySampleSeen":{"type":"string","description":"Datetime when the querySampleText column was seen","format":"date-time","readOnly":true},"querySampleText":{"type":"string","description":"Sample SQL statement that produces the digest value in the row","readOnly":true},"querySampleTimerWait":{"type":"number","description":"Wait time for the sample statement in the querySampleText column, in milliseconds","readOnly":true},"schemaName":{"type":"string","description":"SchemaName of the summarized events","readOnly":true},"sumCreatedTmpDiskTables":{"type":"integer","description":"Number of internal on-disk temporary tables created","readOnly":true},"sumCreatedTmpTables":{"type":"integer","description":"Number of internal temporary tables created","readOnly":true},"sumErrors":{"type":"integer","description":"Number of errors","readOnly":true},"sumLockTime":{"type":"number","description":"Sum of lock time of the summarized timed events, in milliseconds","readOnly":true},"sumNoGoodIndexUsed":{"type":"integer","description":"Sum of not good indexes of the summarized timed events","readOnly":true},"sumNoIndexUsed":{"type":"integer","description":"Sum of no indexes of the summarized timed events","readOnly":true},"sumRowsAffected":{"type":"integer","description":"Sum of rows affected of the summarized timed events","readOnly":true},"sumRowsExamined":{"type":"integer","description":"Sum of rows examined of the summarized timed events","readOnly":true},"sumRowsSent":{"type":"integer","description":"Sum of rows sent of the summarized timed events","readOnly":true},"sumSelectFullJoin":{"type":"integer","description":"Sum of select full join of the summarized timed events","readOnly":true},"sumSelectFullRangeJoin":{"type":"integer","description":"Sum of select full range join of the summarized timed events","readOnly":true},"sumSelectRange":{"type":"integer","description":"Sum of select range of the summarized timed events","readOnly":true},"sumSelectRangeCheck":{"type":"integer","description":"Sum of select range check of the summarized timed events","readOnly":true},"sumSelectScan":{"type":"integer","description":"Sum of select scan of the summarized timed events","readOnly":true},"sumSortMergePasses":{"type":"integer","description":"Sum of sorted merge passes of the summarized timed events","readOnly":true},"sumSortRange":{"type":"integer","description":"Sum of sorted range of the summarized timed events","readOnly":true},"sumSortRows":{"type":"integer","description":"Sum of sorted rows of the summarized timed events","readOnly":true},"sumSortScan":{"type":"integer","description":"Sum of sort scan of the summarized timed events","readOnly":true},"sumTimerWait":{"type":"number","description":"Sum of wait time of the summarized timed events, in milliseconds","readOnly":true},"sumWarnings":{"type":"integer","description":"Number of warnings","readOnly":true}}},"cloud.project.database.opensearch.Index":{"type":"object","description":"Cloud database opensearch index definition","properties":{"createdAt":{"type":"string","description":"Date of the creation of the index","format":"date-time","readOnly":true},"documents":{"type":"integer","description":"Number of documents hold by the index","readOnly":true},"id":{"type":"string","description":"Index ID","format":"uuid","readOnly":true},"name":{"type":"string","description":"Name of the index","readOnly":true},"replicasNumber":{"type":"integer","description":"Number of replicas of the index","readOnly":true},"shardsNumber":{"type":"integer","description":"Number of shards of the index","readOnly":true},"size":{"type":"integer","description":"Size of the index","readOnly":true}}},"cloud.project.database.opensearch.Pattern":{"type":"object","description":"Cloud database opensearch pattern definition","properties":{"id":{"type":"string","description":"Pattern ID","format":"uuid","readOnly":true},"maxIndexCount":{"type":"integer","description":"Maximum number of index for this pattern"},"pattern":{"type":"string","description":"Pattern format"}},"required":["pattern"]},"cloud.project.database.opensearch.Permissions":{"type":"object","description":"Cloud database opensearch permissions definition","properties":{"names":{"type":"array","description":"Possible values for the permissions","items":{"type":"string"},"readOnly":true}}},"cloud.project.database.opensearch.Service":{"type":"object","description":"Cloud database opensearch service definition","properties":{"aclsEnabled":{"type":"boolean","description":"Defines whether the acls are enabled on the cluster"},"backupTime":{"allOf":[{"$ref":"#/components/schemas/time"}],"description":"Time on which backups start every day. DEPRECATED: use backups.time"},"backups":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.service.Backup"}],"description":"Information related to the backups, null if the engine does not support backups","nullable":true},"capabilities":{"type":"object","description":"Capabilities of the services","additionalProperties":{"$ref":"#/components/schemas/cloud.project.database.service.CapabilityActions"},"readOnly":true},"category":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.engine.CategoryEnum"}],"description":"Category of the engine","readOnly":true},"createdAt":{"type":"string","description":"Date of the creation of the cluster","format":"date-time","readOnly":true},"deletionProtection":{"type":"boolean","description":"Enable deletion protection","nullable":true},"description":{"type":"string","description":"Description of the cluster"},"disk":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.service.Disk"}],"description":"Disk attributes of the cluster. DEPRECATED: use storage"},"enablePrometheus":{"type":"boolean","description":"Enable Prometheus","nullable":true},"endpoints":{"type":"array","description":"List of all endpoints of the service","items":{"$ref":"#/components/schemas/cloud.project.database.service.Endpoint"},"readOnly":true},"engine":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.EngineEnum"}],"description":"Name of the engine of the service","readOnly":true},"flavor":{"type":"string","description":"The VM flavor used for this cluster"},"id":{"type":"string","description":"Service ID","format":"uuid","readOnly":true},"ipRestrictions":{"type":"array","description":"IP Blocks authorized to access to the cluster","items":{"$ref":"#/components/schemas/cloud.project.database.service.IpRestriction"}},"maintenanceTime":{"allOf":[{"$ref":"#/components/schemas/time"}],"description":"Time on which maintenances can start every day"},"networkId":{"type":"string","description":"Private network ID in which the cluster is","nullable":true,"format":"uuid"},"networkType":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.NetworkTypeEnum"}],"description":"Type of network of the cluster","readOnly":true},"nodeNumber":{"type":"integer","description":"Number of nodes in the cluster. DEPRECATED: use nodes"},"nodes":{"type":"array","description":"Nodes of the cluster","items":{"$ref":"#/components/schemas/cloud.project.database.service.Node"},"readOnly":true},"openstackRegion":{"type":"string","description":"OpenStack region of the cluster","nullable":true,"readOnly":true},"plan":{"type":"string","description":"Plan of the cluster"},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.StatusEnum"}],"description":"Current status of the cluster","readOnly":true},"storage":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.service.Storage"}],"description":"Storage attributes of the cluster","nullable":true},"subnetId":{"type":"string","description":"Private subnet ID in which the cluster is","nullable":true,"format":"uuid"},"version":{"type":"string","description":"Version of the engine deployed on the cluster"}}},"cloud.project.database.opensearch.User":{"type":"object","description":"Opensearch user definition","properties":{"acls":{"type":"array","description":"Acls of the user","items":{"$ref":"#/components/schemas/cloud.project.database.opensearch.UserAcl"}},"createdAt":{"type":"string","description":"Date of the creation of the user","format":"date-time","readOnly":true},"id":{"type":"string","description":"User ID","format":"uuid","readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.StatusEnum"}],"description":"Current status of the user","readOnly":true},"username":{"type":"string","description":"Name of the user","readOnly":true}}},"cloud.project.database.opensearch.UserAcl":{"type":"object","description":"Opensearch user acl definition","properties":{"pattern":{"type":"string","description":"Pattern of the ACL"},"permission":{"type":"string","description":"Permission of the ACL"}},"required":["pattern","permission"]},"cloud.project.database.opensearch.UserCreation":{"type":"object","description":"Opensearch user creation definition","properties":{"acls":{"type":"array","description":"Acls of the user","items":{"$ref":"#/components/schemas/cloud.project.database.opensearch.UserAcl"}},"name":{"type":"string","description":"Name of the user"}},"required":["name"]},"cloud.project.database.opensearch.UserWithPassword":{"type":"object","description":"Opensearch user definition","properties":{"acls":{"type":"array","description":"Acls of the user","items":{"$ref":"#/components/schemas/cloud.project.database.opensearch.UserAcl"},"readOnly":true},"createdAt":{"type":"string","description":"Date of the creation of the user","format":"date-time","readOnly":true},"id":{"type":"string","description":"User ID","format":"uuid","readOnly":true},"password":{"type":"string","description":"Password of the user","format":"password","readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.StatusEnum"}],"description":"Current status of the user","readOnly":true},"username":{"type":"string","description":"Name of the user","readOnly":true}}},"cloud.project.database.postgresql.ConnectionPool":{"type":"object","description":"Cloud database postgresql connection pool response body definition","properties":{"databaseId":{"type":"string","description":"Database used for the connection pool","format":"uuid"},"id":{"type":"string","description":"ID of the connection pool","format":"uuid","readOnly":true},"mode":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.postgresql.connectionpool.ModeEnum"}],"description":"Connection mode to the connection pool"},"name":{"type":"string","description":"Name of the connection pool","readOnly":true},"port":{"type":"integer","description":"Port of the connection pool","readOnly":true},"size":{"type":"integer","description":"Size of the connection pool"},"sslMode":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.postgresql.connectionpool.SslModeEnum"}],"description":"Ssl connection mode for the pool","nullable":true,"readOnly":true},"uri":{"type":"string","description":"Connection URI to the pool","readOnly":true},"userId":{"type":"string","description":"User authorized to connect to the pool, if none all the users are allowed","nullable":true,"format":"uuid"}}},"cloud.project.database.postgresql.ConnectionPoolCreation":{"type":"object","description":"Cloud database postgresql connection pool creation body definition","properties":{"databaseId":{"type":"string","description":"Database used for the connection pool","format":"uuid"},"mode":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.postgresql.connectionpool.ModeEnum"}],"description":"Connection mode to the connection pool"},"name":{"type":"string","description":"Name of the connection pool"},"size":{"type":"integer","description":"Size of the connection pool"},"userId":{"type":"string","description":"User authorized to connect to the pool, if none all the users are allowed","nullable":true,"format":"uuid"}},"required":["databaseId","mode","name","size"]},"cloud.project.database.postgresql.QueryStatistics":{"type":"object","description":"Cloud database postgresql query statistics response body definition","properties":{"queries":{"type":"array","description":"Statistics of the queries","items":{"$ref":"#/components/schemas/cloud.project.database.postgresql.querystatistics.Query"},"readOnly":true}}},"cloud.project.database.postgresql.connectionpool.ModeEnum":{"type":"string","description":"Possible modes for the connection pools","enum":["session","statement","transaction"]},"cloud.project.database.postgresql.connectionpool.SslModeEnum":{"type":"string","description":"Possible ssl modes for the connection pools","enum":["require"]},"cloud.project.database.postgresql.querystatistics.Query":{"type":"object","description":"Cloud database postgresql single query statistic definition","properties":{"blkReadTime":{"type":"number","description":"Time spent reading data file blocks by backends in this database, in milliseconds","readOnly":true},"blkWriteTime":{"type":"number","description":"Time spent writing data file blocks by backends in this database, in milliseconds","readOnly":true},"calls":{"type":"integer","description":"Number of times this function has been called","readOnly":true},"databaseName":{"type":"string","description":"Name of the database","readOnly":true},"localBlksDirtied":{"type":"integer","description":"Total number of local blocks dirtied by the statement","readOnly":true},"localBlksHit":{"type":"integer","description":"Total number of local block cache hits by the statement","readOnly":true},"localBlksRead":{"type":"integer","description":"Total number of local blocks read by the statement","readOnly":true},"localBlksWritten":{"type":"integer","description":"Total number of local blocks written by the statement","readOnly":true},"maxPlanTime":{"type":"number","description":"Maximum time spent planning the statement, in milliseconds","readOnly":true},"maxTime":{"type":"number","description":"Maximum time spent for the statement, in milliseconds","readOnly":true},"meanPlanTime":{"type":"number","description":"Mean time spent planning the statement, in milliseconds","readOnly":true},"meanTime":{"type":"number","description":"Mean time spent for the statement, in milliseconds","readOnly":true},"minPlanTime":{"type":"number","description":"Minimum time spent planning the statement, in milliseconds","readOnly":true},"minTime":{"type":"number","description":"Minimum time spent for the statement, in milliseconds","readOnly":true},"query":{"type":"string","description":"Text of a representative statement","readOnly":true},"rows":{"type":"integer","description":"Total number of rows retrieved or affected by the statement","readOnly":true},"sharedBlksDirtied":{"type":"integer","description":"Total number of shared blocks dirtied by the statement","readOnly":true},"sharedBlksHit":{"type":"integer","description":"Total number of shared block cache hits by the statement","readOnly":true},"sharedBlksRead":{"type":"integer","description":"Total number of shared blocks read by the statement","readOnly":true},"sharedBlksWritten":{"type":"integer","description":"Total number of shared blocks written by the statement","readOnly":true},"stddevPlanTime":{"type":"number","description":"Population standard deviation of time spent planning the statement, in milliseconds","readOnly":true},"stddevTime":{"type":"number","description":"Population standard deviation of time spent for the statement, in milliseconds","readOnly":true},"tempBlksRead":{"type":"integer","description":"Total number of temp blocks read by the statement","readOnly":true},"tempBlksWritten":{"type":"integer","description":"Total number of temp blocks written by the statement","readOnly":true},"totalPlanTime":{"type":"number","description":"Total time spent planning the statement, in milliseconds","readOnly":true},"totalTime":{"type":"number","description":"Total time spent for the statement, in milliseconds","readOnly":true},"username":{"type":"string","description":"Name of the user who executed the statement","readOnly":true},"walBytes":{"allOf":[{"$ref":"#/components/schemas/complexType.UnitAndValue_long"}],"description":"Total amount of WAL generated by the statement in bytes","readOnly":true},"walFpi":{"type":"integer","description":"Total number of WAL full page images generated by the statement","readOnly":true},"walRecords":{"type":"integer","description":"Total number of WAL records generated by the statement","readOnly":true}}},"cloud.project.database.service.Backup":{"type":"object","description":"Cloud database service backups definition","properties":{"pitr":{"type":"string","description":"Date until PITR is available","nullable":true,"format":"date-time","readOnly":true},"regions":{"type":"array","description":"Regions on which the backups are stored","items":{"type":"string"}},"retentionDays":{"type":"integer","description":"Number of retention days for the backups","nullable":true,"readOnly":true},"time":{"allOf":[{"$ref":"#/components/schemas/time"}],"description":"Time on which backups start every day"}}},"cloud.project.database.service.CapabilityActions":{"type":"object","description":"Cloud database service capability actions definition","properties":{"create":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.service.capability.StateEnum"}],"description":"Defines if the capability can be created","nullable":true,"readOnly":true},"delete":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.service.capability.StateEnum"}],"description":"Defines if the capability can be deleted","nullable":true,"readOnly":true},"read":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.service.capability.StateEnum"}],"description":"Defines if the capability can be read","nullable":true,"readOnly":true},"update":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.service.capability.StateEnum"}],"description":"Defines if the capability can be updated","nullable":true,"readOnly":true}}},"cloud.project.database.service.CapabilityEnum":{"type":"string","description":"List of capabilities available for services","enum":["advancedConfiguration","backupRestore","backupTime","backups","certificates","connectionPools","connector","currentQueries","currentQueriesCancel","databases","deletionProtection","enableWrites","fork","indexes","integrations","ipRestrictions","maintenanceApply","maintenanceTime","maintenances","namespaces","network","nodes","patterns","prometheus","prometheusCredentialsReset","queryStatistics","queryStatisticsReset","replication","restApi","schemaRegistry","service","serviceDisk","serviceFlavor","serviceIpRestriction","servicePlan","topic","topicAcl","unshelve","userAccess","userAcls","userCredentialsReset","users"]},"cloud.project.database.service.Certificates":{"type":"object","description":"Certificates definition for cloud project databases","properties":{"ca":{"type":"string","description":"CA certificate used for the service","readOnly":true}}},"cloud.project.database.service.CurrentQueries":{"type":"object","description":"Cloud database current queries","properties":{"queries":{"type":"array","description":"Current queries list","items":{"$ref":"#/components/schemas/cloud.project.database.service.currentqueries.Query"},"readOnly":true}}},"cloud.project.database.service.DataPoint":{"type":"object","description":"A single value from a metric","properties":{"timestamp":{"type":"integer","description":"Timestamp in seconds since epoch time","readOnly":true},"value":{"type":"number","description":"Value of this datapoint","readOnly":true}}},"cloud.project.database.service.Database":{"type":"object","description":"Defines the database object in a cluster","properties":{"default":{"type":"boolean","description":"Defines if the database has been created by default","readOnly":true},"id":{"type":"string","description":"Database ID","format":"uuid","readOnly":true},"name":{"type":"string","description":"Database name"}},"required":["name"]},"cloud.project.database.service.Disk":{"type":"object","description":"Defines the disk attributes of a service","properties":{"size":{"type":"integer","description":"Service disk size "},"type":{"type":"string","description":"Service disk size ","readOnly":true}}},"cloud.project.database.service.Endpoint":{"type":"object","description":"Defines the endpoint object in a cluster","properties":{"component":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.service.endpoint.ComponentEnum"}],"description":"Type of component the URI relates to","readOnly":true},"domain":{"type":"string","description":"Domain of the cluster","readOnly":true},"path":{"type":"string","description":"Path of the endpoint","nullable":true,"readOnly":true},"port":{"type":"integer","description":"Connection port for the endpoint","nullable":true,"readOnly":true},"scheme":{"type":"string","description":"Scheme used to generate the URI","nullable":true,"readOnly":true},"ssl":{"type":"boolean","description":"Defines whether the endpoint uses SSL","readOnly":true},"sslMode":{"type":"string","description":"SSL mode used to connect to the service if the SSL is enabled","nullable":true,"readOnly":true},"uri":{"type":"string","description":"URI of the endpoint","nullable":true,"readOnly":true}}},"cloud.project.database.service.HostMetric":{"type":"object","description":"Metrics datapoints from a specific host","properties":{"dataPoints":{"type":"array","description":"List of metric's samples","items":{"$ref":"#/components/schemas/cloud.project.database.service.DataPoint"},"readOnly":true},"hostname":{"type":"string","description":"Name of the originating host","readOnly":true}}},"cloud.project.database.service.Integration":{"type":"object","description":"Cloud database service integration definition","properties":{"destinationServiceId":{"type":"string","description":"ID of the destination service","format":"uuid"},"id":{"type":"string","description":"Service ID","format":"uuid","readOnly":true},"parameters":{"type":"object","description":"Parameters for the integration","nullable":true,"additionalProperties":{"type":"string"}},"sourceServiceId":{"type":"string","description":"ID of the source service","format":"uuid"},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.service.integration.StatusEnum"}],"description":"Current status of the integration","readOnly":true},"type":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.service.integration.TypeEnum"}],"description":"Type of the integration"}},"required":["destinationServiceId","sourceServiceId"]},"cloud.project.database.service.IpRestriction":{"type":"object","description":"Ip Restriction definition for cloud project databases","properties":{"description":{"type":"string","description":"Description of the ip restriction"},"ip":{"allOf":[{"$ref":"#/components/schemas/ipBlock"}],"description":"Whitelisted IP"},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.StatusEnum"}],"description":"Current status of the ip restriction","readOnly":true}}},"cloud.project.database.service.LogEntry":{"type":"object","description":"A single log entry","properties":{"hostname":{"type":"string","description":"Host from which the log is coming from","readOnly":true},"message":{"type":"string","description":"The log message","readOnly":true},"timestamp":{"type":"integer","description":"Timestamp in seconds since epoch time","readOnly":true}}},"cloud.project.database.service.Maintenance":{"type":"object","description":"Cloud database service maintenance definition","properties":{"appliedAt":{"type":"string","description":"Date of the application of the maintenance","nullable":true,"format":"date-time","readOnly":true},"description":{"type":"string","description":"Description of the maintenance","readOnly":true},"id":{"type":"string","description":"ID of the maintenance","format":"uuid","readOnly":true},"scheduledAt":{"type":"string","description":"Date of the planification of the maintenance","nullable":true,"format":"date-time","readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.service.maintenance.StatusEnum"}],"description":"Status of the maintenance","readOnly":true}}},"cloud.project.database.service.Metric":{"type":"object","description":"Metric definition for cloud project databases","properties":{"metrics":{"type":"array","description":"Metric values for each cluster's host","items":{"$ref":"#/components/schemas/cloud.project.database.service.HostMetric"},"readOnly":true},"name":{"type":"string","description":"Name of the metric","readOnly":true},"units":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.service.MetricUnitEnum"}],"description":"Unit of the metric","readOnly":true}}},"cloud.project.database.service.MetricPeriodEnum":{"type":"string","description":"Supported metrics query period","enum":["lastDay","lastHour","lastMonth","lastWeek","lastYear"]},"cloud.project.database.service.MetricUnitEnum":{"type":"string","description":"Supported unit types for metrics","enum":["BYTES","BYTES_PER_SECOND","GIGABYTES","GIGABYTES_PER_HOUR","MEGABYTES","MEGABYTES_PER_SECOND","MILLISECONDS","PERCENT","SCALAR","SCALAR_PER_SECOND","SECONDS","UNKNOWN"]},"cloud.project.database.service.Node":{"type":"object","description":"Cloud databases cluster node definition","properties":{"createdAt":{"type":"string","description":"Date of the creation of the node","format":"date-time","readOnly":true},"flavor":{"type":"string","description":"Flavor of the node","readOnly":true},"id":{"type":"string","description":"Node ID","format":"uuid","readOnly":true},"name":{"type":"string","description":"Name of the node","readOnly":true},"port":{"type":"integer","description":"Connection port for the node","readOnly":true},"region":{"type":"string","description":"Region of the node","readOnly":true},"role":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.service.node.RoleEnum"}],"description":"Role of the node","nullable":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.StatusEnum"}],"description":"Current status of the node","readOnly":true}}},"cloud.project.database.service.NodeCreation":{"type":"object","description":"Cloud databases cluster new node definition","properties":{"createdAt":{"type":"string","description":"Date of the creation of the node","format":"date-time","readOnly":true},"flavor":{"type":"string","description":"Flavor of the node"},"id":{"type":"string","description":"Node ID","format":"uuid","readOnly":true},"name":{"type":"string","description":"Name of the node","readOnly":true},"port":{"type":"integer","description":"Connection port for the node","readOnly":true},"region":{"type":"string","description":"Region of the node"},"role":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.service.node.RoleEnum"}],"description":"Role of the node","nullable":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.StatusEnum"}],"description":"Current status of the node","readOnly":true}}},"cloud.project.database.service.NodePattern":{"type":"object","description":"Node pattern definition","properties":{"flavor":{"type":"string","description":"Flavor of the nodes"},"number":{"type":"integer","description":"Number of nodes to create"},"region":{"type":"string","description":"Region of the nodes"}}},"cloud.project.database.service.PrometheusAccess":{"type":"object","description":"Prometheus credentials","properties":{"password":{"type":"string","description":"Password of the Prometheus access","format":"password","readOnly":true},"username":{"type":"string","description":"Name of the Prometheus access","readOnly":true}}},"cloud.project.database.service.PrometheusEndpoint":{"type":"object","description":"Prometheus Endpoint","properties":{"targets":{"type":"array","description":"Endpoint target for Prometheus","items":{"$ref":"#/components/schemas/cloud.project.database.service.prometheus.Target"},"readOnly":true},"username":{"type":"string","description":"Name of the Prometheus access","readOnly":true}}},"cloud.project.database.service.Replication":{"type":"object","description":"Cloud database service replication definition","properties":{"emitHeartbeats":{"type":"boolean","description":"Defines whether heartbeats are emitted"},"enabled":{"type":"boolean","description":"Defines whether the replication is actived"},"id":{"type":"string","description":"Service ID","format":"uuid","readOnly":true},"replicationPolicyClass":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.service.replication.PolicyClassEnum"}],"description":"ReplicationPolicyClass used for the replication"},"sourceIntegration":{"type":"string","description":"ID of the integration source","format":"uuid","readOnly":true},"syncGroupOffsets":{"type":"boolean","description":"Defines whether the group offsets must be sync"},"syncInterval":{"type":"integer","description":"Defines the interval in second between 2 sync"},"targetIntegration":{"type":"string","description":"ID of the integration target","format":"uuid","readOnly":true},"topicExcludeList":{"type":"array","description":"Patterns of the topics to exclude from the replication","items":{"type":"string"}},"topics":{"type":"array","description":"Patterns of the topics to replicate","items":{"type":"string"}}},"required":["enabled"]},"cloud.project.database.service.ReplicationCreation":{"type":"object","description":"Cloud database service replication definition","properties":{"emitHeartbeats":{"type":"boolean","description":"Defines whether heartbeats are emitted"},"enabled":{"type":"boolean","description":"Defines whether the replication is actived"},"replicationPolicyClass":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.service.replication.PolicyClassEnum"}],"description":"ReplicationPolicyClass used for the replication"},"sourceIntegration":{"type":"string","description":"ID of the integration source","format":"uuid"},"syncGroupOffsets":{"type":"boolean","description":"Defines whether the group offsets must be sync"},"syncInterval":{"type":"integer","description":"Defines the interval in second between 2 sync"},"targetIntegration":{"type":"string","description":"ID of the integration target","format":"uuid"},"topicExcludeList":{"type":"array","description":"Patterns of the topics to exclude from the replication","items":{"type":"string"}},"topics":{"type":"array","description":"Patterns of the topics to replicate","items":{"type":"string"}}},"required":["enabled","sourceIntegration","targetIntegration"]},"cloud.project.database.service.Restore":{"type":"object","description":"Cloud database service restore specification","properties":{"pointInTime":{"type":"string","description":"point in time to restore from","format":"date-time"}},"required":["pointInTime"]},"cloud.project.database.service.Storage":{"type":"object","description":"Defines the storage attributes of a service","properties":{"size":{"allOf":[{"$ref":"#/components/schemas/complexType.UnitAndValueWritable_long"}],"description":"Service storage size"},"type":{"type":"string","description":"Service storage type","readOnly":true}}},"cloud.project.database.service.User":{"type":"object","description":"User definition","properties":{"createdAt":{"type":"string","description":"Date of the creation of the user","format":"date-time","readOnly":true},"id":{"type":"string","description":"User ID","format":"uuid","readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.StatusEnum"}],"description":"Current status of the user","readOnly":true},"username":{"type":"string","description":"Name of the user","readOnly":true}}},"cloud.project.database.service.UserCreation":{"type":"object","description":"User creation definition","properties":{"name":{"type":"string","description":"Name of the user"}}},"cloud.project.database.service.UserWithPassword":{"type":"object","description":"User with password definition","properties":{"createdAt":{"type":"string","description":"Date of the creation of the user","format":"date-time","readOnly":true},"id":{"type":"string","description":"User ID","format":"uuid","readOnly":true},"password":{"type":"string","description":"Password of the user","format":"password","readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.StatusEnum"}],"description":"Current status of the user","readOnly":true},"username":{"type":"string","description":"Name of the user","readOnly":true}}},"cloud.project.database.service.UserWithPasswordAndRoles":{"type":"object","description":"User with password definition","properties":{"createdAt":{"type":"string","description":"Date of the creation of the user","format":"date-time","readOnly":true},"id":{"type":"string","description":"User ID","format":"uuid","readOnly":true},"password":{"type":"string","description":"Password of the user","format":"password"},"roles":{"type":"array","description":"Roles the user belongs to","items":{"type":"string"}},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.StatusEnum"}],"description":"Current status of the user","readOnly":true},"username":{"type":"string","description":"Name of the user","readOnly":true}}},"cloud.project.database.service.UserWithRoles":{"type":"object","description":"User definition","properties":{"createdAt":{"type":"string","description":"Date of the creation of the user","format":"date-time","readOnly":true},"id":{"type":"string","description":"User ID","format":"uuid","readOnly":true},"roles":{"type":"array","description":"Roles the user belongs to","items":{"type":"string"}},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.StatusEnum"}],"description":"Current status of the user","readOnly":true},"username":{"type":"string","description":"Name of the user","readOnly":true}}},"cloud.project.database.service.UserWithRolesCreation":{"type":"object","description":"User creation definition","properties":{"name":{"type":"string","description":"Name of the user"},"roles":{"type":"array","description":"Roles the user belongs to","items":{"type":"string"}}}},"cloud.project.database.service.capability.StateEnum":{"type":"string","description":"State of the service capability for the service","enum":["disabled","enabled"]},"cloud.project.database.service.creation.BackupFork":{"type":"object","description":"Defines the source to fork a cluster from a backup. DEPRECATED: use forkFrom","properties":{"id":{"type":"string","description":"Backup ID (not compatible with pointInTime)","format":"uuid"},"pointInTime":{"type":"string","description":"Point in time to restore from (not compatible with id)","format":"date-time"},"serviceId":{"type":"string","description":"Service ID to which the backups belong to","format":"uuid"}},"required":["serviceId"]},"cloud.project.database.service.creation.ForkFrom":{"type":"object","description":"Defines the source to fork a cluster from a backup","properties":{"backupId":{"type":"string","description":"Backup ID (not compatible with pointInTime)","format":"uuid"},"pointInTime":{"type":"string","description":"Point in time to restore from (not compatible with id)","format":"date-time"},"serviceId":{"type":"string","description":"Service ID to which the backups belong to","format":"uuid"}},"required":["serviceId"]},"cloud.project.database.service.currentqueries.Query":{"type":"object","description":"Cloud database service current queries query definition","properties":{"applicationName":{"type":"string","description":"Application name","readOnly":true},"backendStart":{"type":"string","description":"Backend start timestamp","nullable":true,"format":"date-time","readOnly":true},"backendType":{"type":"string","description":"Backend type","nullable":true,"readOnly":true},"backendXid":{"type":"integer","description":"XID for current backend","nullable":true,"readOnly":true},"backendXmin":{"type":"integer","description":"Xmin for current backend","nullable":true,"readOnly":true},"clientHostname":{"type":"string","description":"Client hostname","nullable":true,"readOnly":true},"clientIp":{"allOf":[{"$ref":"#/components/schemas/ip"}],"description":"Client ip address","nullable":true,"readOnly":true},"clientPort":{"type":"integer","description":"Client port","nullable":true,"readOnly":true},"databaseId":{"type":"integer","description":"Database ID","nullable":true,"readOnly":true},"databaseName":{"type":"string","description":"Database name","readOnly":true},"leaderPid":{"type":"integer","description":"Leader process ID","nullable":true,"readOnly":true},"pid":{"type":"integer","description":"Connection process ID","readOnly":true},"query":{"type":"string","description":"Current query running on this connection","readOnly":true},"queryDuration":{"type":"number","description":"Duration of the query in seconds","readOnly":true},"queryStart":{"type":"string","description":"Query start timestamp","nullable":true,"format":"date-time","readOnly":true},"state":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.service.currentqueries.StateEnum"}],"description":"Connection state","readOnly":true},"stateChange":{"type":"string","description":"Connection state change timestamp","nullable":true,"format":"date-time","readOnly":true},"transactionStart":{"type":"string","description":"Transaction start timestamp","nullable":true,"format":"date-time","readOnly":true},"userId":{"type":"integer","description":"User ID","nullable":true,"readOnly":true},"userName":{"type":"string","description":"User name","readOnly":true},"waitEvent":{"type":"string","description":"Connection wait event","nullable":true,"readOnly":true},"waitEventType":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.service.currentqueries.WaitEventTypeEnum"}],"description":"Connection wait event type","nullable":true,"readOnly":true}}},"cloud.project.database.service.currentqueries.StateEnum":{"type":"string","description":"Possible state of a query","enum":["ACTIVE","DISABLED","FASTPATH_FUNCTION_CALL","IDLE","IDLE_IN_TRANSACTION","IDLE_IN_TRANSACTION_ABORTED"]},"cloud.project.database.service.currentqueries.WaitEventTypeEnum":{"type":"string","description":"Possible event type on which the backend is waiting","enum":["ACTIVITY","BUFFER_PIN","CLIENT","EXTENSION","IO","IPC","LOCK","LWLOCK","TIMEOUT"]},"cloud.project.database.service.currentqueries.query.CancelRequest":{"type":"object","description":"Cloud database service current queries query cancel request","properties":{"pid":{"type":"integer","description":"Database server connection ID"},"terminate":{"type":"boolean","description":"Request immediate termination instead of soft cancel"}}},"cloud.project.database.service.currentqueries.query.CancelResponse":{"type":"object","description":"Cloud database service current queries query cancel response","properties":{"success":{"type":"boolean","description":"Status reported by the database server","readOnly":true}}},"cloud.project.database.service.endpoint.ComponentEnum":{"type":"string","description":"Defines all the values for the component in the service endpoints","enum":["clickhouse","clickhouseHttps","clickhouseMysql","grafana","graphite","influxdb","kafka","kafkaConnect","kafkaRestApi","kafkaSASL","kafkaSchemaRegistry","kibana","mongodb","mongodbAnalytics","mongodbSrv","mongodbSrvAnalytics","mysql","mysqlRead","mysqlx","opensearch","postgresql","postgresqlRead","postgresqlReadReplica","prometheusRead","prometheusWrite","valkey"]},"cloud.project.database.service.integration.StatusEnum":{"type":"string","description":"Possible state of the integration","enum":["READY"]},"cloud.project.database.service.integration.TypeEnum":{"type":"string","description":"Possible type of the service integration","enum":["grafanaDashboard","grafanaDatasource","kafkaConnect","kafkaLogs","kafkaMirrorMaker","opensearchLogs","postgresqlMetrics"]},"cloud.project.database.service.maintenance.StatusEnum":{"type":"string","description":"Possible status of a service maintenance","enum":["APPLIED","APPLYING","ERROR","PENDING","SCHEDULED"]},"cloud.project.database.service.node.RoleEnum":{"type":"string","description":"Node role values","enum":["ANALYTICS","STANDARD"]},"cloud.project.database.service.prometheus.Target":{"type":"object","description":"Prometheus endpoint target","properties":{"host":{"type":"string","description":"Hostname of the prometheus target","readOnly":true},"port":{"type":"integer","description":"Port of the prometheus target","readOnly":true}}},"cloud.project.database.service.replication.PolicyClassEnum":{"type":"string","description":"Possible type of the service integration","enum":["org.apache.kafka.connect.mirror.DefaultReplicationPolicy","org.apache.kafka.connect.mirror.IdentityReplicationPolicy"]},"cloud.project.database.valkey.User":{"type":"object","description":"Valkey user definition","properties":{"categories":{"type":"array","description":"Categories of the user","items":{"type":"string"}},"channels":{"type":"array","description":"Channels of the user","items":{"type":"string"}},"commands":{"type":"array","description":"Commands of the user","items":{"type":"string"}},"createdAt":{"type":"string","description":"Date of the creation of the user","format":"date-time","readOnly":true},"id":{"type":"string","description":"User ID","format":"uuid","readOnly":true},"keys":{"type":"array","description":"Keys of the user","items":{"type":"string"}},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.StatusEnum"}],"description":"Current status of the user","readOnly":true},"username":{"type":"string","description":"Name of the user","readOnly":true}}},"cloud.project.database.valkey.UserCreation":{"type":"object","description":"Valkey user definition","properties":{"categories":{"type":"array","description":"Categories of the user","items":{"type":"string"}},"channels":{"type":"array","description":"Channels of the user","items":{"type":"string"}},"commands":{"type":"array","description":"Commands of the user","items":{"type":"string"}},"keys":{"type":"array","description":"Keys of the user","items":{"type":"string"}},"name":{"type":"string","description":"Name of the user"}},"required":["name"]},"cloud.project.database.valkey.UserWithPassword":{"type":"object","description":"Valkey user with password definition","properties":{"categories":{"type":"array","description":"Categories of the user","items":{"type":"string"},"readOnly":true},"channels":{"type":"array","description":"Channels of the user","items":{"type":"string"},"readOnly":true},"commands":{"type":"array","description":"Commands of the user","items":{"type":"string"},"readOnly":true},"createdAt":{"type":"string","description":"Date of the creation of the user","format":"date-time","readOnly":true},"id":{"type":"string","description":"User ID","format":"uuid","readOnly":true},"keys":{"type":"array","description":"Keys of the user","items":{"type":"string"},"readOnly":true},"password":{"type":"string","description":"Password of the user","format":"password","readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.project.database.StatusEnum"}],"description":"Current status of the user","readOnly":true},"username":{"type":"string","description":"Name of the user","readOnly":true}}},"cloud.project.floatingIp.AssociatedEntity":{"type":"object","description":"Associated entity with a floating ip","properties":{"gatewayId":{"type":"string","description":"ID of the gateway","format":"uuid","readOnly":true},"id":{"type":"string","description":"ID of the port","format":"uuid","readOnly":true},"ip":{"allOf":[{"$ref":"#/components/schemas/ip"}],"description":"IP of the port","readOnly":true},"type":{"allOf":[{"$ref":"#/components/schemas/cloud.project.floatingIp.associatedEntity.TypeEnum"}],"description":"Type of the port","readOnly":true}}},"cloud.project.floatingIp.StatusEnum":{"type":"string","description":"Status of a floating ip","enum":["active","down","error"]},"cloud.project.floatingIp.associatedEntity.TypeEnum":{"type":"string","description":"Type of the associated entity","enum":["dhcp","instance","loadbalancer","routerInterface","unknown"]},"cloud.project.gateway.TypeEnum":{"type":"string","description":"Type of the gateway","enum":["private","public"]},"cloud.project.loadbalancer.ActionDispatch":{"type":"object","description":"HTTP load balancer dispatch action","properties":{"name":{"type":"string","description":"The backend name"},"target":{"type":"string","description":"Target name"}},"required":["name","target"]},"cloud.project.loadbalancer.ActionRedirect":{"type":"object","description":"HTTP load balancer redirect action","properties":{"location":{"type":"string","description":"Location url"},"name":{"type":"string","description":"The backend name"},"statusCode":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.action.RedirectStatusCodeEnum"}],"description":"StatusCode for redirect action"}},"required":["location","name","statusCode"]},"cloud.project.loadbalancer.ActionReject":{"type":"object","description":"HTTP load balancer reject action","properties":{"name":{"type":"string","description":"The action name"},"statusCode":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.action.RejectStatusCodeEnum"}],"description":"StatusCode for reject action"}},"required":["name","statusCode"]},"cloud.project.loadbalancer.ActionRewrite":{"type":"object","description":"HTTP load balancer rewrite action","properties":{"location":{"type":"string","description":"Location url"},"name":{"type":"string","description":"The backend name"}},"required":["location","name"]},"cloud.project.loadbalancer.Actions":{"type":"object","description":"HTTP load balancer actions","properties":{"dispatch":{"type":"array","description":"List of dispatch actions","nullable":true,"items":{"$ref":"#/components/schemas/cloud.project.loadbalancer.ActionDispatch"}},"redirect":{"type":"array","description":"List of redirect actions","nullable":true,"items":{"$ref":"#/components/schemas/cloud.project.loadbalancer.ActionRedirect"}},"reject":{"type":"array","description":"List of reject actions","nullable":true,"items":{"$ref":"#/components/schemas/cloud.project.loadbalancer.ActionReject"}},"rewrite":{"type":"array","description":"List of rewrite actions","nullable":true,"items":{"$ref":"#/components/schemas/cloud.project.loadbalancer.ActionRewrite"}}}},"cloud.project.loadbalancer.Address":{"type":"object","description":"Address to reach the load balancer","properties":{"ipv4":{"allOf":[{"$ref":"#/components/schemas/ipv4"}],"description":"IP version 4","readOnly":true},"ipv6":{"allOf":[{"$ref":"#/components/schemas/ipv6"}],"description":"IP version 6","nullable":true,"readOnly":true}}},"cloud.project.loadbalancer.Addresses":{"type":"object","description":"IP list split in version 4 and 6","properties":{"ipv4":{"type":"array","description":"IP version 4 list","items":{"$ref":"#/components/schemas/ipv4Block"},"readOnly":true},"ipv6":{"type":"array","description":"IP version 6 list","nullable":true,"items":{"$ref":"#/components/schemas/ipv6Block"},"readOnly":true}}},"cloud.project.loadbalancer.ApplicationConfiguration":{"type":"object","description":"An application load balancer configuration","properties":{"actions":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.Actions"}],"description":"All actions","nullable":true,"readOnly":true},"certificates":{"type":"array","description":"List of certificate ID","items":{"type":"string"},"readOnly":true},"conditions":{"type":"array","description":"List of conditions","nullable":true,"items":{"$ref":"#/components/schemas/cloud.project.loadbalancer.Condition"},"readOnly":true},"entryPoints":{"type":"array","description":"List of entryPoints","items":{"$ref":"#/components/schemas/cloud.project.loadbalancer.EntryPoint"},"readOnly":true},"networking":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.configuration.networking.Networking"}],"description":"networking configuration","readOnly":true},"targets":{"type":"array","description":"List of targets","nullable":true,"items":{"$ref":"#/components/schemas/cloud.project.loadbalancer.Target"},"readOnly":true},"version":{"type":"integer","description":"Identifier and version of the configuration","readOnly":true}}},"cloud.project.loadbalancer.ApplicationConfigurationCreation":{"type":"object","description":"An application load balancer configuration","properties":{"actions":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.Actions"}],"description":"All actions","nullable":true},"certificates":{"type":"array","description":"List of certificate ID","items":{"type":"string"}},"conditions":{"type":"array","description":"List of conditions","nullable":true,"items":{"$ref":"#/components/schemas/cloud.project.loadbalancer.Condition"}},"entryPoints":{"type":"array","description":"List of entryPoints","items":{"$ref":"#/components/schemas/cloud.project.loadbalancer.EntryPoint"}},"networking":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.configuration.networking.Networking"}],"description":"networking configuration","nullable":true},"targets":{"type":"array","description":"List of targets","nullable":true,"items":{"$ref":"#/components/schemas/cloud.project.loadbalancer.Target"}},"version":{"type":"integer","description":"Identifier and version of the configuration","readOnly":true}}},"cloud.project.loadbalancer.ApplicationLoadBalancerSizeCapability":{"type":"object","description":"Application load balancer size capability","properties":{"bandwidth":{"type":"integer","description":"Bandwidth allowed in Mb/s","readOnly":true},"maximumConnection":{"type":"integer","description":"Maximum connection allowed on the load balancer","readOnly":true},"requestsPerSecond":{"type":"integer","description":"Number of requests allowed per second","readOnly":true},"size":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.SizeEnum"}],"description":"Size of the load balancer","readOnly":true}}},"cloud.project.loadbalancer.Backend":{"type":"object","description":"A load balancer backend","properties":{"balancer":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.backend.BalancerAlgorithmEnum"}],"description":"Use a specific balancer algorithm","nullable":true},"name":{"type":"string","description":"The backend name"},"proxyProtocol":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.backend.ProxyProtocolEnum"}],"description":"Use proxy protocol on backend","nullable":true},"servers":{"type":"array","description":"List of server in backend","items":{"$ref":"#/components/schemas/cloud.project.loadbalancer.Server"}},"sticky":{"type":"boolean","description":"Enable sticky session, only usable with http-mode frontends","nullable":true}},"required":["name","servers"]},"cloud.project.loadbalancer.BackendSelector":{"type":"object","description":"Select a load balancer backend","properties":{"name":{"type":"string","description":"The backend name"}},"required":["name"]},"cloud.project.loadbalancer.Condition":{"type":"object","description":"A condition","properties":{"key":{"type":"string","description":"The condition name","nullable":true},"match":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.condition.MatchEnum"}],"description":"Criterion matching operation"},"name":{"type":"string","description":"The condition name"},"negate":{"type":"boolean","description":"Negate the condition","nullable":true},"type":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.condition.TypeEnum"}],"description":"Criterion used to chose the appropriate action"},"values":{"type":"array","description":"The list of values to match","items":{"type":"string"}}},"required":["match","name","type","values"]},"cloud.project.loadbalancer.Configuration":{"type":"object","description":"A load balancer configuration","properties":{"backends":{"type":"array","description":"List of backends","items":{"$ref":"#/components/schemas/cloud.project.loadbalancer.Backend"},"readOnly":true},"certificates":{"type":"array","description":"List of certificate ID","items":{"type":"string"},"readOnly":true},"frontends":{"type":"array","description":"List of frontends","items":{"$ref":"#/components/schemas/cloud.project.loadbalancer.Frontend"},"readOnly":true},"networking":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.configuration.networking.Networking"}],"description":"networking configuration","readOnly":true},"version":{"type":"integer","description":"Identifier and version of the configuration","readOnly":true}}},"cloud.project.loadbalancer.ConfigurationCreation":{"type":"object","description":"A load balancer configuration","properties":{"backends":{"type":"array","description":"List of backends","items":{"$ref":"#/components/schemas/cloud.project.loadbalancer.Backend"}},"certificates":{"type":"array","description":"List of certificate ID","items":{"type":"string"}},"frontends":{"type":"array","description":"List of frontends","items":{"$ref":"#/components/schemas/cloud.project.loadbalancer.Frontend"}},"networking":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.configuration.networking.Networking"}],"description":"networking configuration","nullable":true},"version":{"type":"integer","description":"Identifier and version of the configuration","readOnly":true}}},"cloud.project.loadbalancer.ConfigurationVersion":{"type":"object","description":"Information about version of the configuration","properties":{"applied":{"type":"integer","description":"Applied version of the configuration","readOnly":true},"latest":{"type":"integer","description":"Latest version of the configuration","readOnly":true}}},"cloud.project.loadbalancer.EntryPoint":{"type":"object","description":"A load balancer entryPoint","properties":{"defaultTarget":{"type":"string","description":"The default target name","nullable":true},"disableH2":{"type":"boolean","description":"Disable HTTP2","nullable":true},"name":{"type":"string","description":"The frontend name"},"portRanges":{"type":"array","description":"Port ranges to listen","nullable":true,"items":{"$ref":"#/components/schemas/cloud.project.loadbalancer.PortRange"}},"ports":{"type":"array","description":"Ports to listen","nullable":true,"items":{"type":"integer"}},"rules":{"type":"array","description":"List of rules","items":{"$ref":"#/components/schemas/cloud.project.loadbalancer.Rule"}},"tls":{"type":"boolean"}},"required":["name"]},"cloud.project.loadbalancer.Frontend":{"type":"object","description":"A load balancer frontend","properties":{"backends":{"type":"array","description":"Selector for backend","items":{"$ref":"#/components/schemas/cloud.project.loadbalancer.BackendSelector"}},"mode":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.frontend.ModeEnum"}],"description":"Load balancing mode","nullable":true},"name":{"type":"string","description":"The frontend name"},"port":{"type":"integer","description":"Port to listen (deprecated: see ports)","nullable":true},"portRanges":{"type":"array","description":"Port ranges to listen","nullable":true,"items":{"$ref":"#/components/schemas/cloud.project.loadbalancer.PortRange"}},"ports":{"type":"array","description":"Ports to listen","nullable":true,"items":{"type":"integer"}},"tls":{"type":"boolean"},"whitelist":{"type":"array","description":"IP range to whitelist","items":{"$ref":"#/components/schemas/ipBlock"}}},"required":["backends","name"]},"cloud.project.loadbalancer.LoadBalancerSizeCapability":{"type":"object","description":"Network load balancer size capability","properties":{"bandwidth":{"type":"integer","description":"Bandwidth allowed in Mb/s","readOnly":true},"maximumConnection":{"type":"integer","description":"Maximum connection allowed on the load balancer","readOnly":true},"newConnectionPerSecond":{"type":"integer","description":"Number of new connection allowed per second","readOnly":true},"size":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.SizeEnum"}],"description":"Size of the load balancer","readOnly":true}}},"cloud.project.loadbalancer.PortRange":{"type":"object","description":"A port range","properties":{"end":{"type":"integer","description":"Port range end"},"start":{"type":"integer","description":"Port range start"}}},"cloud.project.loadbalancer.Region":{"type":"object","description":"Region information","properties":{"region":{"type":"string","description":"Region name","readOnly":true}}},"cloud.project.loadbalancer.Rule":{"type":"object","description":"A entrypoint rule","properties":{"action":{"type":"string","description":"The action name"},"conditions":{"type":"array","description":"The list of condition to match","nullable":true,"items":{"type":"string"}}},"required":["action"]},"cloud.project.loadbalancer.Server":{"type":"object","description":"A load balancer backend server","properties":{"ip":{"allOf":[{"$ref":"#/components/schemas/ip"}],"description":"IP address of a server"},"name":{"type":"string","description":"Server name"},"noCheck":{"type":"boolean","description":"Disable health check","nullable":true},"port":{"type":"integer","description":"Port that the server listen"},"weight":{"type":"integer","description":"Weight of the server in the backend","nullable":true}},"required":["ip","name","port"]},"cloud.project.loadbalancer.SizeEnum":{"type":"string","description":"Size of the load balancer","enum":["L","M","S"]},"cloud.project.loadbalancer.Stats":{"type":"object","description":"Loadbalancer stats","properties":{"concurrentFlows":{"type":"number","description":"Concurrent connections","readOnly":true},"httpRequestsPerSecond":{"type":"number","description":"HTTP requests made","nullable":true,"readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.stats.StatusEnum"}],"description":"Main loadbalancer status","readOnly":true},"targets":{"type":"array","description":"Targets state","items":{"$ref":"#/components/schemas/cloud.project.loadbalancer.stats.Target"},"readOnly":true},"tcpConnectionsPerSecond":{"type":"number","description":"New connections opened per second","readOnly":true},"throughput":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.stats.Throughput"}],"description":"Throughput consumed on the entrypoints","readOnly":true}}},"cloud.project.loadbalancer.StatusEnum":{"type":"string","description":"Status of a load balancer","enum":["APPLYING","CREATED","DELETING","ERROR","FROZEN","RUNNING"]},"cloud.project.loadbalancer.Target":{"type":"object","description":"A load balancer target","properties":{"balancer":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.target.BalancerAlgorithmEnum"}],"description":"Use a specific balancer algorithm","nullable":true},"name":{"type":"string","description":"The backend name"},"proxyProtocol":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.target.ProxyProtocolEnum"}],"description":"Use proxy protocol on target","nullable":true},"servers":{"type":"array","description":"List of server in target","items":{"$ref":"#/components/schemas/cloud.project.loadbalancer.Server"}},"sticky":{"type":"boolean","description":"Enable sticky session, only usable with http-mode frontends","nullable":true}},"required":["name","servers"]},"cloud.project.loadbalancer.action.RedirectStatusCodeEnum":{"type":"string","description":"Available status code for Redirect action","enum":["301","302","303","307","308"]},"cloud.project.loadbalancer.action.RejectStatusCodeEnum":{"type":"string","description":"Available status code for Reject action","enum":["200","400","403","405","408","429","500","502","503","504"]},"cloud.project.loadbalancer.backend.BalancerAlgorithmEnum":{"type":"string","description":"Available load balancer backend balancer algorithm","enum":["first","leastconn","roundrobin","source","static-rr"]},"cloud.project.loadbalancer.backend.ProxyProtocolEnum":{"type":"string","description":"Available load balancer backend proxy-protocol","enum":["v1","v2","v2-cn","v2-ssl"]},"cloud.project.loadbalancer.condition.MatchEnum":{"type":"string","description":"Matching operator","enum":["end-with","exists","is","regex","start-with"]},"cloud.project.loadbalancer.condition.TypeEnum":{"type":"string","description":"Matching field","enum":["cookie","header","host","method","path","query-param","source"]},"cloud.project.loadbalancer.configuration.networking.Egress":{"type":"object","description":"Networking configuration egress definition","properties":{"id":{"type":"string","description":"vrack networking id","nullable":true,"format":"uuid"},"kind":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.networking.egress.KindEnum"}],"description":"networking egress kind definition"}},"required":["kind"]},"cloud.project.loadbalancer.configuration.networking.Ingress":{"type":"object","description":"Networking configuration ingress definition","properties":{"kind":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.networking.ingress.KindEnum"}],"description":"networking configuration ingress kind definition"}},"required":["kind"]},"cloud.project.loadbalancer.configuration.networking.Networking":{"type":"object","description":"Networking configuration object","properties":{"egress":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.configuration.networking.Egress"}],"description":"Networking configuration definition for egress","nullable":true},"ingress":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.configuration.networking.Ingress"}],"description":"Networking configuration definition for ingress","nullable":true}}},"cloud.project.loadbalancer.frontend.ModeEnum":{"type":"string","description":"Available load balancer frontend mode","enum":["TCP"]},"cloud.project.loadbalancer.networking.Egress":{"type":"object","description":"Networking Egress definition","properties":{"id":{"type":"string","description":"vrack networking id","nullable":true,"format":"uuid"},"kind":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.networking.egress.KindEnum"}],"description":"networking egress kind definition"}},"required":["kind"]},"cloud.project.loadbalancer.networking.EgressCreation":{"type":"object","description":"Networking Egress definition","properties":{"kind":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.networking.egress.KindEnum"}],"description":"networking egress kind definition"}},"required":["kind"]},"cloud.project.loadbalancer.networking.Ingress":{"type":"object","description":"Networking Ingress definition","properties":{"kind":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.networking.ingress.KindEnum"}],"description":"networking ingress kind definition","readOnly":true}}},"cloud.project.loadbalancer.networking.IngressCreation":{"type":"object","description":"Networking Ingress definition","properties":{"kind":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.networking.ingress.KindEnum"}],"description":"networking ingress kind definition"}},"required":["kind"]},"cloud.project.loadbalancer.networking.Networking":{"type":"object","description":"Networking object","properties":{"egress":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.networking.Egress"}],"description":"Networking definition for egress","readOnly":true},"ingress":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.networking.Ingress"}],"description":"Networking definition for ingress","readOnly":true}}},"cloud.project.loadbalancer.networking.NetworkingCreation":{"type":"object","description":"Networking creation object","properties":{"egress":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.networking.EgressCreation"}],"description":"Networking definition for egress","nullable":true},"ingress":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.networking.IngressCreation"}],"description":"Networking definition for ingress","nullable":true}}},"cloud.project.loadbalancer.networking.egress.KindEnum":{"type":"string","description":"Networking kind","enum":["public","vrack"]},"cloud.project.loadbalancer.networking.ingress.KindEnum":{"type":"string","description":"Networking kind","enum":["public"]},"cloud.project.loadbalancer.stats.StatusEnum":{"type":"string","description":"Status of availability of loadbalancer","enum":["HEALTHY","NOT_AVAILABLE"]},"cloud.project.loadbalancer.stats.Target":{"type":"object","description":"Loadbalancer target stats","properties":{"name":{"type":"string","description":"Target name","readOnly":true},"servers":{"type":"array","description":"Concurrent connections","items":{"$ref":"#/components/schemas/cloud.project.loadbalancer.stats.target.Server"},"readOnly":true}}},"cloud.project.loadbalancer.stats.Throughput":{"type":"object","description":"Loadbalancer bandwidth stats","properties":{"in":{"type":"number","description":"Consumed inbound bandwidth (bytes/s)","readOnly":true},"out":{"type":"number","description":"Consumed outbound bandwidth (bytes/s)","readOnly":true}}},"cloud.project.loadbalancer.stats.target.Server":{"type":"object","description":"Loadbalancer target server stats","properties":{"name":{"type":"string","description":"Target name","readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.stats.target.server.StatusEnum"}],"description":"Server status","readOnly":true}}},"cloud.project.loadbalancer.stats.target.server.StatusEnum":{"type":"string","description":"Status of target's server","enum":["ERROR","HEALTHY","INIT","L4_CONNECTION_ERROR","L4_TIMEOUT_ERROR","L7_PROTOCOL_ERROR","L7_RESPONSE_ERROR","L7_TIMEOUT","UNKNOWN"]},"cloud.project.loadbalancer.target.BalancerAlgorithmEnum":{"type":"string","description":"Available load balancer target balancer algorithm","enum":["first","leastconn","roundrobin","source","static-rr"]},"cloud.project.loadbalancer.target.ProxyProtocolEnum":{"type":"string","description":"Available load balancer target proxy-protocol","enum":["v1","v2","v2-cn","v2-ssl"]},"cloud.project.networkloadbalancer.ActionReject":{"type":"object","description":"network load balancer reject action","properties":{"name":{"type":"string","description":"The action name"},"type":{"allOf":[{"$ref":"#/components/schemas/cloud.project.networkloadbalancer.action.RejectTypeEnum"}],"description":"type of reject action"}},"required":["name","type"]},"cloud.project.networkloadbalancer.Actions":{"type":"object","description":"Network Loadbalancer action","properties":{"dispatch":{"type":"array","description":"List of dispatch actions","nullable":true,"items":{"$ref":"#/components/schemas/cloud.project.loadbalancer.ActionDispatch"}},"reject":{"type":"array","description":"List of reject actions","nullable":true,"items":{"$ref":"#/components/schemas/cloud.project.networkloadbalancer.ActionReject"}}}},"cloud.project.networkloadbalancer.Condition":{"type":"object","description":"A condition","properties":{"key":{"type":"string","description":"The condition name","nullable":true},"match":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.condition.MatchEnum"}],"description":"Criterion matching operation"},"name":{"type":"string","description":"The condition name"},"negate":{"type":"boolean","description":"Negate the condition","nullable":true},"type":{"allOf":[{"$ref":"#/components/schemas/cloud.project.networkloadbalancer.condition.TypeEnum"}],"description":"Criterion used to chose the appropriate action"},"values":{"type":"array","description":"The list of values to match","items":{"type":"string"}}},"required":["match","name","type","values"]},"cloud.project.networkloadbalancer.Configuration":{"type":"object","description":"A network load balancer configuration","properties":{"actions":{"allOf":[{"$ref":"#/components/schemas/cloud.project.networkloadbalancer.Actions"}],"description":"All actions","nullable":true,"readOnly":true},"conditions":{"type":"array","description":"List of conditions","nullable":true,"items":{"$ref":"#/components/schemas/cloud.project.networkloadbalancer.Condition"},"readOnly":true},"entryPoints":{"type":"array","description":"List of entryPoints","items":{"$ref":"#/components/schemas/cloud.project.networkloadbalancer.EntryPoint"},"readOnly":true},"networking":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.configuration.networking.Networking"}],"description":"networking configuration","readOnly":true},"targets":{"type":"array","description":"List of targets","nullable":true,"items":{"$ref":"#/components/schemas/cloud.project.loadbalancer.Target"},"readOnly":true},"version":{"type":"integer","description":"Identifier and version of the configuration","readOnly":true}}},"cloud.project.networkloadbalancer.ConfigurationCreation":{"type":"object","description":"A network load balancer configuration","properties":{"actions":{"allOf":[{"$ref":"#/components/schemas/cloud.project.networkloadbalancer.Actions"}],"description":"All actions","nullable":true},"conditions":{"type":"array","description":"List of conditions","nullable":true,"items":{"$ref":"#/components/schemas/cloud.project.networkloadbalancer.Condition"}},"entryPoints":{"type":"array","description":"List of entryPointss","items":{"$ref":"#/components/schemas/cloud.project.networkloadbalancer.EntryPoint"}},"networking":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.configuration.networking.Networking"}],"description":"networking configuration","nullable":true},"targets":{"type":"array","description":"List of targets","nullable":true,"items":{"$ref":"#/components/schemas/cloud.project.loadbalancer.Target"}},"version":{"type":"integer","description":"Identifier and version of the configuration","readOnly":true}}},"cloud.project.networkloadbalancer.EntryPoint":{"type":"object","description":"A network load balancer entryPoint","properties":{"defaultTarget":{"type":"string","description":"The default target name","nullable":true},"name":{"type":"string","description":"The frontend name"},"portRanges":{"type":"array","description":"Port ranges to listen","nullable":true,"items":{"$ref":"#/components/schemas/cloud.project.loadbalancer.PortRange"}},"ports":{"type":"array","description":"Ports to listen","nullable":true,"items":{"type":"integer"}},"rules":{"type":"array","description":"List of rules","items":{"$ref":"#/components/schemas/cloud.project.loadbalancer.Rule"}}},"required":["name"]},"cloud.project.networkloadbalancer.LoadBalancerSizeCapability":{"type":"object","description":"Network load balancer size capability","properties":{"bandwidth":{"type":"integer","description":"Bandwidth allowed in Mb/s","readOnly":true},"maximumConnection":{"type":"integer","description":"Maximum connection allowed on the load balancer","readOnly":true},"newConnectionPerSecond":{"type":"integer","description":"Maximum number of connections opened per second","readOnly":true},"size":{"allOf":[{"$ref":"#/components/schemas/cloud.project.loadbalancer.SizeEnum"}],"description":"Size of the load balancer","readOnly":true}}},"cloud.project.networkloadbalancer.action.RejectTypeEnum":{"type":"string","description":"Available type of Reject action","enum":["deny","drop"]},"cloud.project.networkloadbalancer.condition.TypeEnum":{"type":"string","description":"Matching field","enum":["source"]},"cloud.project.quantum.QuantumResources":{"type":"object","description":"Quantum Resource Object","properties":{"qpuFlavorId":{"type":"string","description":"ID of the QPU flavor","nullable":true,"readOnly":true}}},"cloud.project.quantum.QuantumResourcesInput":{"type":"object","description":"Quantum Resource Object","properties":{"qpuFlavorId":{"type":"string","description":"ID of the QPU flavor","nullable":true}}},"cloud.project.quantum.capabilities.QPUFlavor":{"type":"object","description":"Quantum QPU flavor object","properties":{"description":{"type":"string","description":"Short description of the QPU flavor","readOnly":true},"id":{"type":"string","description":"Unique identifier of the QPU flavor","readOnly":true},"name":{"type":"string","description":"Name of the QPU flavor","readOnly":true},"qubits":{"type":"integer","description":"Qubits capacity of the QPU flavor","readOnly":true}}},"cloud.project.quantum.capabilities.Region":{"type":"object","description":"Quantum Region","properties":{"cliInstallUrl":{"type":"string","description":"Client Install Url","readOnly":true},"documentationUrl":{"type":"string","description":"Documentation Url","readOnly":true},"id":{"type":"string","description":"Region id","readOnly":true},"registryUrl":{"type":"string","description":"Region Registry Url","readOnly":true},"version":{"type":"string","description":"Region version","readOnly":true}}},"cloud.quota.AllowedQuota":{"type":"object","description":"Quotas","properties":{"compute":{"allOf":[{"$ref":"#/components/schemas/cloud.quota.ComputeQuota"}],"description":"Quotas for compute","readOnly":true},"name":{"type":"string","description":"Name","readOnly":true},"network":{"allOf":[{"$ref":"#/components/schemas/cloud.quota.NetworkQuota"}],"description":"Quotas for network","readOnly":true},"volume":{"allOf":[{"$ref":"#/components/schemas/cloud.quota.VolumeQuota"}],"description":"Quotas for volume","readOnly":true}}},"cloud.quota.CategoryEnum":{"type":"string","description":"Possible values for quota category","enum":["instance","keymanager","keypair","loadbalancer","network","share","volume"]},"cloud.quota.ComputeQuota":{"type":"object","description":"Quotas for compute","properties":{"cores":{"type":"integer","description":"Maximum total cores allowed in your project","readOnly":true},"instances":{"type":"integer","description":"Maximum number of instances allowed in your project","readOnly":true},"ram":{"type":"integer","description":"Maximum total ram allowed in your project","readOnly":true}}},"cloud.quota.InstanceUsageQuotas":{"type":"object","description":"Quotas on instances","properties":{"maxCores":{"type":"integer","description":"Maximum total cores allowed in your project","readOnly":true},"maxInstances":{"type":"integer","description":"Maximum total cores allowed in your project","readOnly":true},"maxRam":{"type":"integer","readOnly":true},"usedCores":{"type":"integer","description":"Current used cores number","readOnly":true},"usedInstances":{"type":"integer","description":"Current used instances","readOnly":true},"usedRAM":{"type":"integer","description":"Current used ram","readOnly":true}}},"cloud.quota.KeymanagerQuotas":{"type":"object","description":"Quotas on keymanager","properties":{"maxSecrets":{"type":"integer","description":"Maximum number of secrets allowed in your project","readOnly":true},"usedSecrets":{"type":"integer","description":"Current number of used secrets","readOnly":true}}},"cloud.quota.KeypairQuotas":{"type":"object","description":"Quotas on keypairs","properties":{"maxCount":{"type":"integer","description":"Maximum keypairs count allowed in your project","readOnly":true}}},"cloud.quota.LoadbalancerQuotas":{"type":"object","description":"Quotas on loadbalancer","properties":{"maxLoadbalancers":{"type":"integer","description":"Maximum number of loadbalancers allowed in your project","readOnly":true},"usedLoadbalancers":{"type":"integer","description":"Current number of used loadbalancers","readOnly":true}}},"cloud.quota.NetworkQuota":{"type":"object","description":"Quotas for network","properties":{"networks":{"type":"integer","description":"Maximum number of networks allowed in your project","readOnly":true},"ports":{"type":"integer","description":"Maximum number of ports allowed in your project","readOnly":true},"subnets":{"type":"integer","description":"Maximum number of subnets allowed in your project","readOnly":true}}},"cloud.quota.NetworkQuotas":{"type":"object","description":"Quotas on network","properties":{"maxFloatingIPs":{"type":"integer","description":"Maximum number of floating ips allowed in your project","readOnly":true},"maxGateways":{"type":"integer","description":"Maximum number of gateways allowed in your project","readOnly":true},"maxNetworks":{"type":"integer","description":"Maximum networks allowed in your project","readOnly":true},"maxSubnets":{"type":"integer","description":"Maximum subnets allowed in your project","readOnly":true},"usedFloatingIPs":{"type":"integer","description":"Current number of used floating ips","readOnly":true},"usedGateways":{"type":"integer","description":"Current number of used gateways","readOnly":true},"usedNetworks":{"type":"integer","description":"Current used networks","readOnly":true},"usedSubnets":{"type":"integer","description":"Current used subnets","readOnly":true}}},"cloud.quota.Quotas":{"type":"object","description":"Quotas","properties":{"instance":{"allOf":[{"$ref":"#/components/schemas/cloud.quota.InstanceUsageQuotas"}],"description":"Quotas on instances","nullable":true,"readOnly":true},"keymanager":{"allOf":[{"$ref":"#/components/schemas/cloud.quota.KeymanagerQuotas"}],"description":"Quotas on keymanager","nullable":true,"readOnly":true},"keypair":{"allOf":[{"$ref":"#/components/schemas/cloud.quota.KeypairQuotas"}],"description":"Quotas on keypairs","nullable":true,"readOnly":true},"loadbalancer":{"allOf":[{"$ref":"#/components/schemas/cloud.quota.LoadbalancerQuotas"}],"description":"Quotas on loadbalancer","nullable":true,"readOnly":true},"network":{"allOf":[{"$ref":"#/components/schemas/cloud.quota.NetworkQuotas"}],"description":"Quotas on network","nullable":true,"readOnly":true},"region":{"type":"string","description":"Region","readOnly":true},"share":{"allOf":[{"$ref":"#/components/schemas/cloud.quota.share.Quota"}],"description":"Quotas on shares","nullable":true,"readOnly":true},"volume":{"allOf":[{"$ref":"#/components/schemas/cloud.quota.VolumeUsageQuotas"}],"description":"Quotas on volumes","nullable":true,"readOnly":true}}},"cloud.quota.VolumeQuota":{"type":"object","description":"Quotas for volume","properties":{"gigabytes":{"type":"integer","description":"Maximum total volume capacity allowed in your project","readOnly":true},"snapshots":{"type":"integer","description":"Maximum number of snapshots allowed in your project","readOnly":true},"volumes":{"type":"integer","description":"Maximum number of volumes allowed in your project","readOnly":true}}},"cloud.quota.VolumeUsageQuotas":{"type":"object","description":"Quotas on volumes","properties":{"maxBackupGigabytes":{"type":"integer","description":"Maximum total volume backup capacity allowed in your project","readOnly":true},"maxGigabytes":{"type":"integer","description":"Maximum total volume capacity allowed in your project","readOnly":true},"maxVolumeBackupCount":{"type":"integer","description":"Maximum volumes backup count","readOnly":true},"maxVolumeCount":{"type":"integer","description":"Maximum volumes count","readOnly":true},"usedBackupGigabytes":{"type":"integer","description":"Current used volume backup gigabytes","readOnly":true},"usedGigabytes":{"type":"integer","description":"Current used volume gigabytes","readOnly":true},"volumeBackupCount":{"type":"integer","description":"Current volumes backup count","readOnly":true},"volumeCount":{"type":"integer","description":"Current volumes count","readOnly":true}}},"cloud.quota.share.Quota":{"type":"object","description":"Share Quota","properties":{"maxShareBackupGigabytes":{"type":"integer","description":"Maximum share backup gigabytes","readOnly":true},"maxShareBackups":{"type":"integer","description":"Maximum number of share backups","readOnly":true},"maxShareSizePerShare":{"type":"integer","description":"Maximum share size of a share","readOnly":true},"maxShareSizeTotal":{"type":"integer","description":"Maximum share total size for project","readOnly":true},"maxShareSnapshots":{"type":"integer","description":"Maximum number of share snapshots","readOnly":true},"maxSharesNumber":{"type":"integer","description":"Maximum number of shares in the quota","readOnly":true},"usedShareBackupGigabytes":{"type":"integer","description":"Used share backup gigabytes","readOnly":true},"usedShareBackups":{"type":"integer","description":"Used number of share backups","readOnly":true},"usedShareSizeTotal":{"type":"integer","description":"Used share total size for project","readOnly":true},"usedShareSnapshots":{"type":"integer","description":"Used number of share snapshot","readOnly":true},"usedSharesNumber":{"type":"integer","description":"Used number of shares in the quota","readOnly":true}}},"cloud.quota.storage.Quota":{"type":"object","description":"Cloud Storage Quota","properties":{"bytesUsed":{"type":"integer","description":"Quota used in bytes","readOnly":true},"containerCount":{"type":"integer","description":"Number of containers on account","readOnly":true},"objectCount":{"type":"integer","description":"Number of objects on account","readOnly":true},"quotaBytes":{"type":"integer","description":"Quota in bytes","nullable":true,"readOnly":true}}},"cloud.quota.storage.QuotaUpdate":{"type":"object","description":"Update storage quota","properties":{"quotaBytes":{"type":"integer","description":"New quota in bytes"}},"required":["quotaBytes"]},"cloud.region.Flavor":{"type":"object","description":"Region flavor","properties":{"disk":{"type":"integer","description":"Flavor disk size in GB","readOnly":true},"id":{"type":"string","description":"Flavor ID","format":"uuid","readOnly":true},"name":{"type":"string","description":"Flavor name","readOnly":true},"ram":{"type":"integer","description":"Flavor ram size in MB","readOnly":true},"region":{"type":"string","description":"Flavor region","readOnly":true},"vcpus":{"type":"integer","description":"Flavor VCPUs number","readOnly":true}}},"cloud.region.SSHKey":{"type":"object","description":"Region SSHKey","properties":{"fingerPrint":{"type":"string","description":"SSHKey fingerPrint","readOnly":true},"id":{"type":"string","description":"SSHKey ID","readOnly":true},"name":{"type":"string","description":"SSHKey name","readOnly":true},"publicKey":{"type":"string","description":"SSHKey publicKey","readOnly":true},"region":{"type":"string","description":"SSHKey region","readOnly":true}}},"cloud.region.Volume":{"type":"object","description":"Region volume","properties":{"attachedTo":{"type":"array","description":"Volume attached to list","items":{"$ref":"#/components/schemas/cloud.region.volume.AttachedTo"},"readOnly":true},"availabilityZone":{"type":"string","description":"Availability zone of the volume","nullable":true,"readOnly":true},"backups":{"type":"array","description":"Volume backups","items":{"$ref":"#/components/schemas/cloud.region.volume.Backup"},"readOnly":true},"bootable":{"type":"boolean","description":"Whether the volume is bootable","readOnly":true},"creationDate":{"type":"string","description":"Volume creation date","format":"date-time","readOnly":true},"description":{"type":"string","description":"Volume description","readOnly":true},"encryption":{"allOf":[{"$ref":"#/components/schemas/cloud.region.Volume.Encryption"}],"description":"Encryption settings (null when the volume is not encrypted with CMK)","nullable":true,"readOnly":true},"id":{"type":"string","description":"Volume ID","format":"uuid","readOnly":true},"name":{"type":"string","description":"Volume name","readOnly":true},"size":{"type":"integer","description":"Volume size","readOnly":true},"snapshots":{"type":"array","description":"Volume snapshots","items":{"$ref":"#/components/schemas/cloud.region.volume.Snapshot"},"readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.volume.VolumeStatusEnum"}],"description":"Volume status","readOnly":true},"type":{"allOf":[{"$ref":"#/components/schemas/cloud.volume.VolumeTypeEnum"}],"description":"Volume type","readOnly":true}}},"cloud.region.Volume.BulkDeleteSnapshots":{"type":"object","description":"Bulk delete volume snapshots either all or a selection of ids","properties":{"deleteAll":{"type":"boolean","description":"Delete all snapshots related to a volume, cannot be used along side a list of IDs"},"snapshotIds":{"type":"array","description":"Snapshot IDs to delete, cannot be used along side the deleteAll boolean set to true","nullable":true,"items":{"type":"string","format":"uuid"}}}},"cloud.region.Volume.Create":{"type":"object","description":"Region volume create","properties":{"availabilityZone":{"type":"string","description":"Availability zone to create the volume on","nullable":true},"backupId":{"type":"string","description":"Backup ID","format":"uuid"},"description":{"type":"string","description":"Volume description"},"encryption":{"allOf":[{"$ref":"#/components/schemas/cloud.region.Volume.Encryption"}],"description":"Optional encryption settings. Set encryption.kms for CMK; omit for OMK.","nullable":true},"imageId":{"type":"string","description":"Image ID","format":"uuid"},"instanceId":{"type":"string","description":"Instance ID","format":"uuid"},"name":{"type":"string","description":"Volume name"},"size":{"type":"integer","description":"Volume size"},"snapshotId":{"type":"string","description":"Snapshot ID","format":"uuid"},"type":{"allOf":[{"$ref":"#/components/schemas/cloud.volume.VolumeTypeEnum"}],"description":"Type of the volume"}}},"cloud.region.Volume.Create.Response":{"type":"object","description":"Region volume create response","properties":{"action":{"type":"string","description":"The action of the operation","readOnly":true},"completedAt":{"type":"string","description":"The completed date of the operation","nullable":true,"format":"date-time","readOnly":true},"createdAt":{"type":"string","description":"The creation date of the operation","format":"date-time","readOnly":true},"id":{"type":"string","description":"Operation ID","format":"uuid","readOnly":true},"progress":{"type":"integer","description":"Volume status","readOnly":true},"regions":{"type":"array","description":"List of regions","items":{"type":"string"},"readOnly":true},"resourceId":{"type":"string","description":"Id of the resource","nullable":true,"format":"uuid","readOnly":true},"startedAt":{"type":"string","description":"Datetime of the operation creation","nullable":true,"format":"date-time","readOnly":true},"status":{"type":"string","description":"Volume status","readOnly":true},"subOperations":{"type":"array","description":"Sub-operations of the operation","nullable":true,"items":{"$ref":"#/components/schemas/cloud.region.Volume.Create.resource"},"readOnly":true}}},"cloud.region.Volume.Create.resource":{"type":"object","description":"A resource of the volume","properties":{"resourceId":{"type":"string","description":"Affected resource of the sub-operation","readOnly":true},"resourceType":{"type":"string","description":"The started date of the sub-operation","nullable":true,"readOnly":true}}},"cloud.region.Volume.Encryption":{"type":"object","description":"Volume encryption settings","properties":{"encrypted":{"type":"boolean","description":"Create the volume encrypted (auto-derives a LUKS volume type)"},"kms":{"allOf":[{"$ref":"#/components/schemas/cloud.region.Volume.Encryption.Kms"}],"description":"OVH KMS key reference. When omitted, the volume is encrypted with an OVH-managed key.","nullable":true}}},"cloud.region.Volume.Encryption.Kms":{"type":"object","description":"OVH KMS key reference","properties":{"domainId":{"type":"string","description":"OKMS domain ID","format":"uuid"},"serviceKeyId":{"type":"string","description":"OKMS service key ID","format":"uuid"}}},"cloud.region.Volume.Update":{"type":"object","description":"Region volume update","properties":{"description":{"type":"string","description":"New volume description","nullable":true},"name":{"type":"string","description":"New volume name","nullable":true},"size":{"type":"integer","description":"New volume size","nullable":true},"type":{"allOf":[{"$ref":"#/components/schemas/cloud.volume.VolumeTypeEnum"}],"description":"New volume type","nullable":true}}},"cloud.region.VolumeType":{"type":"object","description":"Volume type","properties":{"name":{"type":"string","description":"Name of the volume type","readOnly":true}}},"cloud.region.volume.AttachedTo":{"type":"object","description":"Region volume attached to","properties":{"id":{"type":"string","description":"Instance ID","format":"uuid","readOnly":true}}},"cloud.region.volume.Backup":{"type":"object","description":"Region volume backup","properties":{"creationDate":{"type":"string","description":"Backup creation date","format":"date-time","readOnly":true},"id":{"type":"string","description":"Backup ID","format":"uuid","readOnly":true},"name":{"type":"string","description":"Backup name","readOnly":true},"size":{"type":"integer","description":"Backup size in GiB","readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.volumeBackup.VolumeBackupStatusEnum"}],"description":"Backup status","readOnly":true}}},"cloud.region.volume.Snapshot":{"type":"object","description":"Region volume snapshot","properties":{"creationDate":{"type":"string","description":"Snapshot creation date","format":"date-time","readOnly":true},"id":{"type":"string","description":"Snapshot ID","format":"uuid","readOnly":true},"name":{"type":"string","description":"Snapshot name","readOnly":true},"size":{"type":"integer","description":"Snapshot size in GiB","readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.volume.SnapshotStatusEnum"}],"description":"Snapshot status","readOnly":true}}},"cloud.role.Permission":{"type":"object","description":"Role permissions","properties":{"label":{"type":"string","description":"Permission label","readOnly":true},"roles":{"type":"array","description":"Roles having this permission","items":{"type":"string"},"readOnly":true}}},"cloud.role.Role":{"type":"object","description":"Role","properties":{"description":{"type":"string","description":"Role Description","readOnly":true},"id":{"type":"string","description":"Role id","readOnly":true},"name":{"type":"string","description":"Role Name","readOnly":true},"permissions":{"type":"array","description":"Permissions granted by this role","items":{"type":"string"},"readOnly":true}}},"cloud.role.Roles":{"type":"object","description":"OpenStack role","properties":{"roles":{"type":"array","description":"OpenStack roles","items":{"$ref":"#/components/schemas/cloud.role.Role"},"readOnly":true},"services":{"type":"array","description":"OpenStack services","items":{"$ref":"#/components/schemas/cloud.role.Service"},"readOnly":true}}},"cloud.role.Service":{"type":"object","description":"OpenStack service","properties":{"name":{"type":"string","description":"Name of the service","readOnly":true},"permissions":{"type":"array","description":"List of permissions","items":{"$ref":"#/components/schemas/cloud.role.Permission"},"readOnly":true}}},"cloud.share.Capability":{"type":"object","description":"Capability","properties":{"enabled":{"type":"boolean","description":"Whether the capability is enabled or not","readOnly":true},"name":{"type":"string","description":"Capability name","readOnly":true}}},"cloud.share.ExportLocationObject":{"type":"object","description":"Object","properties":{"id":{"type":"string","description":"Export location id","readOnly":true},"path":{"type":"string","description":"Export location mount path","readOnly":true}}},"cloud.share.ProtocolEnum":{"type":"string","description":"Share protocol","enum":["NFS"]},"cloud.share.Share":{"type":"object","description":"Share","properties":{"availabilityZone":{"type":"string","description":"Availability zone","nullable":true,"readOnly":true},"capabilities":{"type":"array","description":"Share capabilities","nullable":true,"items":{"$ref":"#/components/schemas/cloud.share.Capability"},"readOnly":true},"createdAt":{"type":"string","description":"The date and timestamp when the resource was created","format":"date-time","readOnly":true},"description":{"type":"string","description":"Share description","readOnly":true},"encryption":{"allOf":[{"$ref":"#/components/schemas/cloud.share.Share.Encryption"}],"description":"Encryption settings, null when the share is not encrypted","nullable":true,"readOnly":true},"exportLocations":{"type":"array","description":"Share export locations","nullable":true,"items":{"$ref":"#/components/schemas/cloud.share.ExportLocationObject"},"readOnly":true},"id":{"type":"string","description":"Share ID","format":"uuid","readOnly":true},"isPublic":{"type":"boolean","description":"Whether the share is public","readOnly":true},"name":{"type":"string","description":"Share name","readOnly":true},"networkId":{"type":"string","description":"Private network ID","nullable":true,"format":"uuid","readOnly":true},"protocol":{"allOf":[{"$ref":"#/components/schemas/cloud.share.ProtocolEnum"}],"description":"Share protocol","readOnly":true},"region":{"type":"string","description":"Region","readOnly":true},"shareNetworkId":{"type":"string","description":"Share network ID","nullable":true,"format":"uuid","readOnly":true},"size":{"type":"integer","description":"Share size in GB","readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.share.StatusEnum"}],"description":"Share status","readOnly":true},"subnetId":{"type":"string","description":"Subnet ID","nullable":true,"format":"uuid","readOnly":true},"type":{"allOf":[{"$ref":"#/components/schemas/cloud.share.TypeEnum"}],"description":"Share type","readOnly":true}}},"cloud.share.Share.Create":{"type":"object","description":"Create a share","properties":{"availabilityZone":{"type":"string","description":"Availability zone for the share (required in 3AZ regions)","nullable":true},"description":{"type":"string","description":"Share description","nullable":true},"encryption":{"allOf":[{"$ref":"#/components/schemas/cloud.share.Share.Encryption"}],"description":"Optional encryption settings. Omit for an unencrypted share.","nullable":true},"name":{"type":"string","description":"Share name","nullable":true},"networkId":{"type":"string","description":"Network ID (required unless shareNetworkId is set)","nullable":true,"format":"uuid"},"shareNetworkId":{"type":"string","description":"Existing share network ID (alternative to networkId/subnetId)","nullable":true,"format":"uuid"},"size":{"type":"integer","description":"Share size in GB"},"snapshotId":{"type":"string","description":"Snapshot ID to create the share from","nullable":true,"format":"uuid"},"subnetId":{"type":"string","description":"Subnet ID (required unless shareNetworkId is set)","nullable":true,"format":"uuid"},"type":{"allOf":[{"$ref":"#/components/schemas/cloud.share.TypeEnum"}],"description":"Share type"}},"required":["type"]},"cloud.share.Share.Encryption":{"type":"object","description":"Share encryption settings","properties":{"encrypted":{"type":"boolean","description":"Create the share encrypted (auto-derives a LUKS share type)"}}},"cloud.share.ShareNetwork":{"type":"object","description":"Share network","properties":{"availabilityZone":{"type":"string","description":"Availability zone","nullable":true,"readOnly":true},"cidr":{"allOf":[{"$ref":"#/components/schemas/ipBlock"}],"description":"Subnet CIDR","nullable":true,"readOnly":true},"createdAt":{"type":"string","description":"The date and timestamp when the resource was created","format":"date-time","readOnly":true},"description":{"type":"string","description":"Share network description","nullable":true,"readOnly":true},"id":{"type":"string","description":"Share network ID","format":"uuid","readOnly":true},"name":{"type":"string","description":"Share network name","nullable":true,"readOnly":true},"networkId":{"type":"string","description":"Private network ID","format":"uuid","readOnly":true},"region":{"type":"string","description":"Region","readOnly":true},"subnetId":{"type":"string","description":"Subnet ID","format":"uuid","readOnly":true},"updatedAt":{"type":"string","description":"The date and timestamp when the resource was last updated","format":"date-time","readOnly":true}}},"cloud.share.ShareNetwork.Create":{"type":"object","description":"Create a share network","properties":{"availabilityZone":{"type":"string","description":"Availability zone for the share network (required in 3AZ regions)","nullable":true},"description":{"type":"string","description":"Share network description","nullable":true},"name":{"type":"string","description":"Share network name","nullable":true},"networkId":{"type":"string","description":"Private network ID","format":"uuid"},"subnetId":{"type":"string","description":"Subnet ID","format":"uuid"}},"required":["networkId","subnetId"]},"cloud.share.ShareUpdate":{"type":"object","description":"Input Object used to create a share","properties":{"description":{"type":"string","description":"Share description"},"name":{"type":"string","description":"Share name"},"newSize":{"type":"integer","description":"New share size in GB"}}},"cloud.share.StatusEnum":{"type":"string","description":"Share status","enum":["available","awaiting_transfer","backup_creating","backup_restoring","backup_restoring_error","creating","creating_from_snapshot","deleted","deleting","error","error_deleting","extending","extending_error","inactive","manage_error","manage_starting","migrating","migrating_to","replication_change","reverting","reverting_error","shrinking","shrinking_error","shrinking_possible_data_loss_error","unmanage_error","unmanage_starting","unmanaged"]},"cloud.share.TypeEnum":{"type":"string","description":"Share type","enum":["standard-1az","standard-1az-luks"]},"cloud.share.acl.ACL":{"type":"object","description":"Share ACL","properties":{"accessLevel":{"allOf":[{"$ref":"#/components/schemas/cloud.share.acl.AccessLevelEnum"}],"description":"ACL Access Level","readOnly":true},"accessTo":{"type":"string","description":"ACL Access Resource","readOnly":true},"accessType":{"allOf":[{"$ref":"#/components/schemas/cloud.share.acl.AccessTypeEnum"}],"description":"ACL Access Type","readOnly":true},"createdAt":{"type":"string","description":"The date and timestamp when the resource was created","format":"date-time","readOnly":true},"id":{"type":"string","description":"ACL ID","format":"uuid","readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.share.acl.StatusEnum"}],"description":"ACL Status","readOnly":true},"updatedAt":{"type":"string","description":"The date and timestamp when the resource was updated for the last time","format":"date-time","readOnly":true}}},"cloud.share.acl.ACLCreate":{"type":"object","description":"Share ACL","properties":{"accessLevel":{"allOf":[{"$ref":"#/components/schemas/cloud.share.acl.AccessLevelEnum"}],"description":"ACL Access Level"},"accessTo":{"type":"string","description":"ACL Access Resource"}}},"cloud.share.acl.AccessLevelEnum":{"type":"string","description":"ACL Access Level","enum":["ro","rw"]},"cloud.share.acl.AccessTypeEnum":{"type":"string","description":"ACL Access Type","enum":["ip"]},"cloud.share.acl.StatusEnum":{"type":"string","description":"ACL Status","enum":["active","applying","denying","error","queued_to_apply","queued_to_deny"]},"cloud.share.snapshot.Snapshot":{"type":"object","description":"Share snapshot","properties":{"createdAt":{"type":"string","description":"The date and timestamp when the resource was created","format":"date-time","readOnly":true},"description":{"type":"string","description":"Snapshot description","nullable":true},"id":{"type":"string","description":"Snapshot ID","format":"uuid","readOnly":true},"name":{"type":"string","description":"Snapshot name","nullable":true},"shareId":{"type":"string","description":"Share ID","format":"uuid","readOnly":true},"shareProtocol":{"allOf":[{"$ref":"#/components/schemas/cloud.share.ProtocolEnum"}],"description":"Share protocol","nullable":true,"readOnly":true},"shareSize":{"type":"integer","description":"Share size in GB","readOnly":true},"size":{"type":"integer","description":"Snapshot size in GB","readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.share.snapshot.StatusEnum"}],"description":"Snapshot status","readOnly":true}}},"cloud.share.snapshot.StatusEnum":{"type":"string","description":"Snapshot Status","enum":["available","creating","deleting","error","error_deleting","manage_error","manage_starting","restoring","unmanage_error","unmanage_starting"]},"cloud.sshkey.SshKey":{"type":"object","description":"SshKey","properties":{"id":{"type":"string","description":"SSH key id","readOnly":true},"name":{"type":"string","description":"SSH key name","readOnly":true},"publicKey":{"type":"string","description":"SSH public key","readOnly":true},"regions":{"type":"array","description":"SSH key regions","items":{"type":"string"},"readOnly":true}}},"cloud.sshkey.SshKeyDetail":{"type":"object","description":"SshKeyDetail","properties":{"fingerPrint":{"type":"string","description":"SSH key fingerprint","readOnly":true},"id":{"type":"string","description":"SSH key id","readOnly":true},"name":{"type":"string","description":"SSH key name","readOnly":true},"publicKey":{"type":"string","description":"SSH public key","readOnly":true},"regions":{"type":"array","description":"SSH key regions","items":{"type":"string"},"readOnly":true}}},"cloud.storage.AddContainerPolicy":{"type":"object","description":"Add storage policy for container","properties":{"objectKey":{"type":"string","description":"Container object key"},"roleName":{"allOf":[{"$ref":"#/components/schemas/cloud.storage.PolicyRoleEnum"}],"description":"Policy role"}},"required":["roleName"]},"cloud.storage.ArchiveColdArchiveContainer":{"type":"object","description":"Archive a ColdArchiveContainer","properties":{"lockedUntilDays":{"type":"integer","description":"Archive is locked (cannot be deleted) for the given number of days","nullable":true}}},"cloud.storage.Container":{"type":"object","description":"Container","properties":{"archive":{"type":"boolean","description":"Whether this is an archive container or not","nullable":true,"readOnly":true},"containerType":{"allOf":[{"$ref":"#/components/schemas/cloud.storage.TypeEnum"}],"description":"Container type","nullable":true,"readOnly":true},"id":{"type":"string","description":"Storage id","readOnly":true},"name":{"type":"string","description":"Storage name","readOnly":true},"region":{"type":"string","readOnly":true},"storedBytes":{"type":"integer","description":"Total bytes stored","readOnly":true},"storedObjects":{"type":"integer","description":"Total objects stored","readOnly":true}}},"cloud.storage.ContainerAccess":{"type":"object","description":"ContainerAccess","properties":{"endpoints":{"type":"array","description":"Storage access endpoints","items":{"$ref":"#/components/schemas/cloud.storage.Endpoint"},"readOnly":true},"token":{"type":"string","description":"Storage access token","readOnly":true}}},"cloud.storage.ContainerDetail":{"type":"object","description":"ContainerDetail","properties":{"archive":{"type":"boolean","description":"Whether this is an archive container or not","readOnly":true},"containerType":{"allOf":[{"$ref":"#/components/schemas/cloud.storage.TypeEnum"}],"description":"Container type","readOnly":true},"cors":{"type":"array","description":"Origins allowed to make Cross Origin Requests","items":{"type":"string"},"readOnly":true},"name":{"type":"string","description":"Container name","readOnly":true},"objects":{"type":"array","description":"Objects stored in container","items":{"$ref":"#/components/schemas/cloud.storage.ContainerObject"},"readOnly":true},"public":{"type":"boolean","description":"Public container (DEPRECATED: see containerType)","readOnly":true},"region":{"type":"string","description":"Container region","readOnly":true},"staticUrl":{"type":"string","description":"Container static URL","readOnly":true},"storedBytes":{"type":"integer","description":"Total bytes stored","readOnly":true},"storedObjects":{"type":"integer","description":"Total objects stored","readOnly":true}}},"cloud.storage.ContainerObject":{"type":"object","description":"ContainerObject","properties":{"contentType":{"type":"string","description":"Object content type","readOnly":true},"lastModified":{"type":"string","description":"Last modification date","format":"date-time","readOnly":true},"name":{"type":"string","description":"Object name","readOnly":true},"retrievalDelay":{"type":"integer","description":"Object retrieval delay (when unsealing)","readOnly":true},"retrievalState":{"allOf":[{"$ref":"#/components/schemas/cloud.storage.RetrievalStateEnum"}],"description":"Object retrieval state","readOnly":true},"size":{"type":"integer","description":"Object size","readOnly":true}}},"cloud.storage.ContainerObjectTempURL":{"type":"object","description":"ContainerObjectTempURL","properties":{"expirationDate":{"type":"string","description":"Temporary URL expiration date","format":"date-time","readOnly":true},"getURL":{"type":"string","description":"Temporary URL to get object","readOnly":true}}},"cloud.storage.EncryptionAlgorithmEnum":{"type":"string","description":"Encryption algorithm","enum":["AES256","plaintext"]},"cloud.storage.Endpoint":{"type":"object","description":"Endpoint","properties":{"region":{"type":"string","description":"Endpoint region","readOnly":true},"url":{"type":"string","description":"Endpoint URL","readOnly":true}}},"cloud.storage.LifecycleRule":{"type":"object","description":"Object Storage lifecycle configuration rule","properties":{"abortIncompleteMultipartUpload":{"allOf":[{"$ref":"#/components/schemas/cloud.StorageLifecycleRuleAbortIncompleteMultipartUpload"}],"description":"Abort incomplete multipart upload configuration","nullable":true},"expiration":{"allOf":[{"$ref":"#/components/schemas/cloud.StorageLifecycleRuleExpiration"}],"description":"Lifecycle rule expiration configuration","nullable":true},"filter":{"allOf":[{"$ref":"#/components/schemas/cloud.StorageLifecycleRuleFilter"}],"description":"Rule filters","nullable":true},"id":{"type":"string","description":"Rule ID"},"noncurrentVersionExpiration":{"allOf":[{"$ref":"#/components/schemas/cloud.StorageLifecycleRuleNoncurrentVersionExpiration"}],"description":"Specifies when noncurrent object versions expire","nullable":true},"noncurrentVersionTransitions":{"type":"array","description":"Specifies the transition rule for the lifecycle rule that describes when noncurrent objects transition to a specific storage class","nullable":true,"items":{"$ref":"#/components/schemas/cloud.StorageLifecycleRuleNoncurrentVersionTransition"}},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.storage.LifecycleRuleStatusEnum"}],"description":"Rule status"},"transitions":{"type":"array","description":"Rule destination configuration","nullable":true,"items":{"$ref":"#/components/schemas/cloud.StorageLifecycleRuleTransition"}}},"required":["status"]},"cloud.storage.LifecycleRuleStatusEnum":{"type":"string","description":"Lifecycle rule status","enum":["disabled","enabled"]},"cloud.storage.LifecycleRuleTransitionStorageClassEnum":{"type":"string","description":"Storage class","enum":["DEEP_ARCHIVE","GLACIER_IR","STANDARD","STANDARD_IA"]},"cloud.storage.ObjectLegalHoldStatusEnum":{"type":"string","description":"Object lock mode","enum":["off","on"]},"cloud.storage.ObjectLockModeEnum":{"type":"string","description":"Object lock mode","enum":["compliance","governance"]},"cloud.storage.ObjectLockStatusEnum":{"type":"string","description":"Object lock status","enum":["disabled","enabled"]},"cloud.storage.ObjectReplicationStatusEnum":{"type":"string","description":"Object replication status","enum":["COMPLETED","FAILED","NONE","PENDING","REPLICA"]},"cloud.storage.PolicyRaw":{"type":"object","description":"Raw storage policy.","properties":{"policy":{"type":"string","description":"Raw storage policy."}}},"cloud.storage.PolicyRoleEnum":{"type":"string","description":"Storage policy role","enum":["admin","deny","readOnly","readWrite"]},"cloud.storage.PresignedURL":{"type":"object","description":"Presigned URL.","properties":{"method":{"allOf":[{"$ref":"#/components/schemas/cloud.storage.PresignedURLMethodEnum"}],"description":"Presigned URL method.","readOnly":true},"signedHeaders":{"type":"object","description":"Signed headers.","additionalProperties":{"type":"string"},"readOnly":true},"url":{"type":"string","description":"Presigned URL.","readOnly":true}}},"cloud.storage.PresignedURLInput":{"type":"object","description":"Inputs to generate a presigned URL.","properties":{"expire":{"type":"integer","description":"URL expiration in seconds."},"method":{"allOf":[{"$ref":"#/components/schemas/cloud.storage.PresignedURLMethodEnum"}],"description":"Presigned URL method."},"object":{"type":"string","description":"Object key."},"storageClass":{"allOf":[{"$ref":"#/components/schemas/cloud.storage.StorageClassEnum"}],"description":"When using PUT method, specifies the created object storage class."},"versionId":{"type":"string","description":"Version ID of the object to download or delete when using GET or DELETE methods."}}},"cloud.storage.PresignedURLMethodEnum":{"type":"string","description":"Presigned URL method","enum":["DELETE","GET","PUT"]},"cloud.storage.Quota":{"type":"object","description":"Cloud Storage Quota.","properties":{"buckets":{"type":"integer","description":"Current number of buckets.","readOnly":true},"maxBuckets":{"type":"integer","description":"Maximum number of buckets.","readOnly":true}}},"cloud.storage.ReplicationRule":{"type":"object","description":"Object Storage replication configuration rule.","properties":{"deleteMarkerReplication":{"allOf":[{"$ref":"#/components/schemas/cloud.storage.ReplicationRuleDeleteMarkerReplicationStatusEnum"}],"description":"Delete marker replication configuration.","readOnly":true},"destination":{"allOf":[{"$ref":"#/components/schemas/cloud.StorageReplicationRuleDestination"}],"description":"Rule destination configuration.","nullable":true,"readOnly":true},"filter":{"allOf":[{"$ref":"#/components/schemas/cloud.StorageReplicationRuleFilter"}],"description":"Rule filters.","nullable":true,"readOnly":true},"id":{"type":"string","description":"Rule ID.","readOnly":true},"priority":{"type":"integer","description":"Rule priority.","readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.storage.ReplicationRuleStatusEnum"}],"description":"Rule status.","readOnly":true}}},"cloud.storage.ReplicationRuleDeleteMarkerReplicationStatusEnum":{"type":"string","description":"Replication rule delete marker replication status","enum":["disabled","enabled"]},"cloud.storage.ReplicationRuleIn":{"type":"object","description":"Object Storage replication configuration rule.","properties":{"deleteMarkerReplication":{"allOf":[{"$ref":"#/components/schemas/cloud.storage.ReplicationRuleDeleteMarkerReplicationStatusEnum"}],"description":"Delete marker replication configuration."},"destination":{"allOf":[{"$ref":"#/components/schemas/cloud.StorageReplicationRuleDestinationIn"}],"description":"Rule destination configuration.","nullable":true},"filter":{"allOf":[{"$ref":"#/components/schemas/cloud.StorageReplicationRuleFilter"}],"description":"Rule filters.","nullable":true},"id":{"type":"string","description":"Rule ID."},"priority":{"type":"integer","description":"Rule priority."},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.storage.ReplicationRuleStatusEnum"}],"description":"Rule status."}}},"cloud.storage.ReplicationRuleStatusEnum":{"type":"string","description":"Replication rule status","enum":["disabled","enabled"]},"cloud.storage.RetrievalStateEnum":{"type":"string","description":"RetrievalStateEnum","enum":["sealed","unsealed","unsealing"]},"cloud.storage.RightEnum":{"type":"string","description":"RightEnum","enum":["all","read","write"]},"cloud.storage.StorageClassEnum":{"type":"string","description":"Storage class","enum":["DEEP_ARCHIVE","GLACIER_IR","HIGH_PERF","STANDARD","STANDARD_IA"]},"cloud.storage.StorageClassReplicationEnum":{"type":"string","description":"Storage class","enum":["DEEP_ARCHIVE","GLACIER","GLACIER_IR","HIGH_PERF","INTELLIGENT_TIERING","ONEZONE_IA","STANDARD","STANDARD_IA"]},"cloud.storage.StorageJobReplicationStatusEnum":{"type":"string","description":"Storage job replication status","enum":["Active","Completed","Created","Failed","Preparing"]},"cloud.storage.TypeEnum":{"type":"string","description":"TypeEnum","enum":["private","public","static"]},"cloud.storage.VersioningStatusEnum":{"type":"string","description":"Versioning status","enum":["disabled","enabled","suspended"]},"cloud.usage.Period":{"type":"object","description":"Period","properties":{"from":{"type":"string","description":"Usage from","format":"date-time","readOnly":true},"to":{"type":"string","description":"Usage to","format":"date-time","readOnly":true}}},"cloud.usage.PlanResponse":{"type":"object","description":"Usage of plans","properties":{"flavors":{"type":"array","description":"List of consumption details by flavor","items":{"$ref":"#/components/schemas/cloud.plan.Flavor"},"readOnly":true},"period":{"allOf":[{"$ref":"#/components/schemas/cloud.plan.Period"}],"description":"Requested period","readOnly":true},"projectId":{"type":"string","description":"Project ID of the fetched plans","readOnly":true},"totalSavings":{"allOf":[{"$ref":"#/components/schemas/order.Price"}],"description":"Total savings for all the flavors","readOnly":true}}},"cloud.usage.UsageCurrent":{"type":"object","description":"UsageCurrent","properties":{"hourlyUsage":{"allOf":[{"$ref":"#/components/schemas/cloud.billingView.HourlyResources"}],"description":"Hourly usage","nullable":true,"readOnly":true},"lastUpdate":{"type":"string","description":"Entry last update","format":"date-time","readOnly":true},"monthlyUsage":{"allOf":[{"$ref":"#/components/schemas/cloud.billingView.MonthlyResources"}],"description":"Monthly usage","nullable":true,"readOnly":true},"period":{"allOf":[{"$ref":"#/components/schemas/cloud.usage.Period"}],"description":"Usage dates (from/to)","readOnly":true},"resourcesUsage":{"type":"array","description":"Resource usage (billed per hour/minute/second/unit)","nullable":true,"items":{"$ref":"#/components/schemas/cloud.billingView.TypedResources"},"readOnly":true},"totalPrice":{"allOf":[{"$ref":"#/components/schemas/order.Price"}],"description":"Total price","readOnly":true}}},"cloud.usage.UsageForecast":{"type":"object","description":"UsageForecast","properties":{"hourlyUsage":{"allOf":[{"$ref":"#/components/schemas/cloud.billingView.HourlyResources"}],"description":"Hourly forecast","nullable":true,"readOnly":true},"lastUpdate":{"type":"string","description":"Entry last update","format":"date-time","readOnly":true},"monthlyUsage":{"allOf":[{"$ref":"#/components/schemas/cloud.billingView.MonthlyResources"}],"description":"Monthly forecast","nullable":true,"readOnly":true},"period":{"allOf":[{"$ref":"#/components/schemas/cloud.usage.Period"}],"description":"Forecast dates (from/to)","readOnly":true},"resourcesUsage":{"type":"array","description":"Resource usage forecast (billed per hour/minute/second/unit)","nullable":true,"items":{"$ref":"#/components/schemas/cloud.billingView.TypedResources"},"readOnly":true},"totalPrice":{"allOf":[{"$ref":"#/components/schemas/order.Price"}],"description":"Total price","readOnly":true},"usableCredits":{"allOf":[{"$ref":"#/components/schemas/cloud.billingView.UsedCredits"}],"description":"Usable credit to pay next bill","nullable":true,"readOnly":true}}},"cloud.usage.UsageHistory":{"type":"object","description":"UsageHistory","properties":{"id":{"type":"string","description":"Usage id","readOnly":true},"lastUpdate":{"type":"string","description":"Entry last update","format":"date-time","readOnly":true},"period":{"allOf":[{"$ref":"#/components/schemas/cloud.usage.Period"}],"description":"Usage dates (from/to)","readOnly":true}}},"cloud.usage.UsageHistoryDetail":{"type":"object","description":"UsageHistoryDetail","properties":{"hourlyUsage":{"allOf":[{"$ref":"#/components/schemas/cloud.billingView.HourlyResources"}],"description":"Hourly usage","nullable":true,"readOnly":true},"id":{"type":"string","description":"Usage id","readOnly":true},"lastUpdate":{"type":"string","description":"Entry last update","format":"date-time","readOnly":true},"monthlyUsage":{"allOf":[{"$ref":"#/components/schemas/cloud.billingView.MonthlyResources"}],"description":"Monthly usage","nullable":true,"readOnly":true},"period":{"allOf":[{"$ref":"#/components/schemas/cloud.usage.Period"}],"description":"Usage dates (from/to)","readOnly":true},"resourcesUsage":{"type":"array","description":"Resource usage (billed per hour/minute/second/unit)","nullable":true,"items":{"$ref":"#/components/schemas/cloud.billingView.TypedResources"},"readOnly":true},"totalPrice":{"allOf":[{"$ref":"#/components/schemas/order.Price"}],"description":"Total price","readOnly":true}}},"cloud.user.Configuration":{"type":"object","description":"Client Cloud Configuration","properties":{"content":{"type":"string","description":"Client configuration","readOnly":true}}},"cloud.user.Openrc":{"type":"object","description":"Openrc","properties":{"content":{"type":"string","description":"openrc file","readOnly":true}}},"cloud.user.OpenrcVersionEnum":{"type":"string","description":"OpenrcVersionEnum","enum":["v2.0","v3"]},"cloud.user.RCloneServiceEnum":{"type":"string","description":"RCloneServiceEnum","enum":["storage","storage-s3"]},"cloud.user.Rclone":{"type":"object","description":"Rclone","properties":{"content":{"type":"string","description":"rclone configuration file","readOnly":true}}},"cloud.user.RoleEnum":{"type":"string","description":"RoleEnum","enum":["administrator","ai_training_operator","ai_training_read","authentication","backup_operator","compute_operator","image_operator","infrastructure_supervisor","key-manager_operator","key-manager_read","load-balancer_operator","network_operator","network_security_operator","objectstore_operator","quantum_operator","quantum_reader","share_operator","volume_operator"]},"cloud.user.S3Credentials":{"type":"object","description":"S3™ compatible storage credentials","properties":{"access":{"type":"string","description":"S3™ compatible access key","readOnly":true},"tenantId":{"type":"string","description":"Tenant id","readOnly":true},"userId":{"type":"string","description":"User id","readOnly":true}}},"cloud.user.S3CredentialsSecretOnly":{"type":"object","description":"S3™ compatible storage credentials secret only","properties":{"secret":{"type":"string","description":"S3™ compatible access key secret","format":"password","readOnly":true}}},"cloud.user.S3CredentialsWithSecret":{"type":"object","description":"S3™ compatible credentials with secret","properties":{"access":{"type":"string","description":"S3™ compatible access key","readOnly":true},"secret":{"type":"string","description":"S3™ compatible access key secret","format":"password","readOnly":true},"tenantId":{"type":"string","description":"Tenant id","readOnly":true},"userId":{"type":"string","description":"User id","readOnly":true}}},"cloud.user.User":{"type":"object","description":"User","properties":{"creationDate":{"type":"string","description":"User creation date","format":"date-time","readOnly":true},"description":{"type":"string","description":"User description","readOnly":true},"id":{"type":"integer","description":"User id","readOnly":true},"openstackId":{"type":"string","description":"User id on openstack","nullable":true,"readOnly":true},"roles":{"type":"array","description":"User roles","items":{"$ref":"#/components/schemas/cloud.role.Role"},"readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.user.UserStatusEnum"}],"description":"User status","readOnly":true},"username":{"type":"string","description":"Username","readOnly":true}}},"cloud.user.UserDetail":{"type":"object","description":"UserDetail","properties":{"creationDate":{"type":"string","description":"User creation date","format":"date-time","readOnly":true},"description":{"type":"string","description":"User description","readOnly":true},"id":{"type":"integer","description":"User id","readOnly":true},"openstackId":{"type":"string","description":"User id on openstack","nullable":true,"readOnly":true},"password":{"type":"string","description":"User password","readOnly":true},"roles":{"type":"array","description":"User roles","items":{"$ref":"#/components/schemas/cloud.role.Role"},"readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.user.UserStatusEnum"}],"description":"User status","readOnly":true},"username":{"type":"string","description":"Username","readOnly":true}}},"cloud.user.UserStatusEnum":{"type":"string","description":"UserStatusEnum","enum":["creating","deleted","deleting","disabled","ok","updating"]},"cloud.volume.Snapshot":{"type":"object","description":"Snapshot","properties":{"creationDate":{"type":"string","description":"Snapshot creation date","format":"date-time","readOnly":true},"description":{"type":"string","description":"Snapshot description","readOnly":true},"id":{"type":"string","description":"Snapshot id","readOnly":true},"name":{"type":"string","description":"Snapshot name","readOnly":true},"planCode":{"type":"string","description":"Order plan code","nullable":true,"readOnly":true},"region":{"type":"string","description":"Snapshot region","readOnly":true},"size":{"type":"integer","description":"Snapshot size","readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.volume.SnapshotStatusEnum"}],"description":"Snapshot status","readOnly":true},"volumeId":{"type":"string","description":"Volume source id","readOnly":true}}},"cloud.volume.SnapshotStatusEnum":{"type":"string","description":"SnapshotStatusEnum","enum":["available","creating","deleting","error","error_deleting"]},"cloud.volume.Volume":{"type":"object","description":"Volume","properties":{"attachedTo":{"type":"array","description":"Volume attached to instances id","items":{"type":"string"},"readOnly":true},"availabilityZone":{"type":"string","description":"Availability zone of the volume","nullable":true,"readOnly":true},"bootable":{"type":"boolean","description":"Volume bootable","readOnly":true},"creationDate":{"type":"string","description":"Volume creation date","format":"date-time","readOnly":true},"description":{"type":"string","description":"Volume description","readOnly":true},"id":{"type":"string","description":"Volume id","readOnly":true},"name":{"type":"string","description":"Volume name","readOnly":true},"planCode":{"type":"string","description":"Order plan code","nullable":true,"readOnly":true},"region":{"type":"string","description":"Volume region","readOnly":true},"size":{"type":"integer","description":"Volume size (in GB)","readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.volume.VolumeStatusEnum"}],"description":"Volume status","readOnly":true},"type":{"allOf":[{"$ref":"#/components/schemas/cloud.volume.VolumeTypeEnum"}],"description":"Volume type","readOnly":true}}},"cloud.volume.VolumeStatusEnum":{"type":"string","description":"VolumeStatusEnum","enum":["attaching","available","awaiting-transfer","backing-up","creating","deleted","deleting","detaching","downloading","error","error_backing-up","error_deleting","error_extending","error_restoring","extending","in-use","maintenance","reserved","restoring-backup","retyping","snapshotting","uploading"]},"cloud.volume.VolumeTypeEnum":{"type":"string","description":"VolumeTypeEnum","enum":["classic","classic-luks","classic-multiattach","high-speed","high-speed-gen2","high-speed-gen2-luks","high-speed-luks"]},"cloud.volumeBackup.VolumeBackup":{"type":"object","description":"A volume backup","properties":{"creationDate":{"type":"string","description":"Creation date of the backup","format":"date-time","readOnly":true},"id":{"type":"string","description":"Volume backup id","format":"uuid","readOnly":true},"name":{"type":"string","description":"Volume backup name","readOnly":true},"region":{"type":"string","description":"Volume backup region","readOnly":true},"size":{"type":"integer","description":"Size of the backup in GiB","readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/cloud.volumeBackup.VolumeBackupStatusEnum"}],"description":"Staus of the backup","readOnly":true},"volumeId":{"type":"string","description":"ID of the volume used to create the backup","format":"uuid","readOnly":true}}},"cloud.volumeBackup.VolumeBackupCreation":{"type":"object","description":"Create a volume backup","properties":{"name":{"type":"string","description":"name of the backup"},"volumeId":{"type":"string","description":"ID of the volume to backup","format":"uuid"}},"required":["volumeId"]},"cloud.volumeBackup.VolumeBackupRestore":{"type":"object","description":"Restore a volume backup on a volume","properties":{"volumeId":{"type":"string","description":"ID of the volume to restore on","format":"uuid"}},"required":["volumeId"]},"cloud.volumeBackup.VolumeBackupStatusEnum":{"type":"string","description":"VolumeBackupStatusEnum","enum":["creating","deleting","error","ok","restoring"]},"cloud.volumeBackup.VolumeCreationFromBackup":{"type":"object","description":"Create a volume from a volume backup","properties":{"name":{"type":"string","description":"name of the new volume"}}},"common.RegionTypeEnum":{"type":"string","description":"Typology of the region","enum":["LOCAL-ZONE","REGION-1-AZ","REGION-3-AZ"]},"complexType.UnitAndValueWritable_long":{"type":"object","description":"A numeric value tagged with its unit","properties":{"unit":{"type":"string","description":"Unit of the value"},"value":{"type":"integer"}}},"complexType.UnitAndValue_long":{"type":"object","description":"A numeric value tagged with its unit","properties":{"unit":{"type":"string","description":"Unit of the value","readOnly":true},"value":{"type":"integer"}}},"countryCode2LettersEnum":{"type":"string","description":"2 letters country codes (ISO 3166-1 A-2)","enum":["ad","ae","af","ag","ai","al","am","ao","aq","ar","as","at","au","aw","ax","az","ba","bb","bd","be","bf","bg","bh","bi","bj","bl","bm","bn","bo","bq","br","bs","bt","bv","bw","by","bz","ca","cc","cd","cf","cg","ch","ci","ck","cl","cm","cn","co","cr","cu","cv","cw","cx","cy","cz","de","dj","dk","dm","do","dz","ec","ee","eg","eh","er","es","et","fi","fj","fk","fm","fo","fr","ga","gb","gd","ge","gf","gg","gh","gi","gl","gm","gn","gp","gq","gr","gs","gt","gu","gw","gy","hk","hm","hn","hr","ht","hu","id","ie","il","im","in","io","iq","ir","is","it","je","jm","jo","jp","ke","kg","kh","ki","km","kn","kp","kr","kw","ky","kz","la","lb","lc","li","lk","lr","ls","lt","lu","lv","ly","ma","mc","md","me","mf","mg","mh","mk","ml","mm","mn","mo","mp","mq","mr","ms","mt","mu","mv","mw","mx","my","mz","na","nc","ne","nf","ng","ni","nl","no","np","nr","nu","nz","om","pa","pe","pf","pg","ph","pk","pl","pm","pn","pr","ps","pt","pw","py","qa","re","ro","rs","ru","rw","sa","sb","sc","sd","se","sg","sh","si","sj","sk","sl","sm","sn","so","sr","ss","st","sv","sx","sy","sz","tc","td","tf","tg","th","tj","tk","tl","tm","tn","to","tr","tt","tv","tw","tz","ua","ug","uk","um","us","uy","uz","va","vc","ve","vg","vi","vn","vu","wf","ws","ye","yt","za","zm","zw"]},"dbaas.logs.LogKind":{"type":"object","description":"Log kind","properties":{"additionalReturnedFields":{"type":"array","description":"List of additional log fields managed in this log kind","items":{"type":"string"},"readOnly":true},"createdAt":{"type":"string","description":"Creation date of the log kind","format":"date-time","readOnly":true},"displayName":{"type":"string","description":"Log kind display name","readOnly":true},"kindId":{"type":"string","description":"Log kind ID","format":"uuid","readOnly":true},"name":{"type":"string","description":"Log kind name","readOnly":true},"updatedAt":{"type":"string","description":"Last update date of the log kind","format":"date-time","readOnly":true}}},"dbaas.logs.LogSubscription":{"type":"object","description":"Log subscription","properties":{"createdAt":{"type":"string","description":"Creation date of the subscription","format":"date-time","readOnly":true},"kind":{"type":"string","description":"Log kind name of this subscription","readOnly":true},"resource":{"allOf":[{"$ref":"#/components/schemas/dbaas.logs.SubscriptionResource"}],"description":"Subscribed resource, where the logs come from","readOnly":true},"serviceName":{"type":"string","description":"Name of the destination log service","readOnly":true},"streamId":{"type":"string","description":"Id of the destination log stream","readOnly":true},"subscriptionId":{"type":"string","description":"Subscription ID","format":"uuid","readOnly":true},"updatedAt":{"type":"string","description":"Last update date of the subscription","format":"date-time","readOnly":true}}},"dbaas.logs.LogSubscriptionCreation":{"type":"object","description":"Log subscription creation payload","properties":{"kind":{"type":"string","description":"Log kind name to subscribe to"},"streamId":{"type":"string","description":"Customer log stream ID","format":"uuid"}},"required":["kind","streamId"]},"dbaas.logs.LogSubscriptionResponse":{"type":"object","description":"Asynchronous operation after subscribing or unsubscribing to a resource logs","properties":{"operationId":{"type":"string","description":"Identifier of the operation","format":"uuid","readOnly":true},"serviceName":{"type":"string","description":"Operation owner's service name","readOnly":true}}},"dbaas.logs.LogUrlCreation":{"type":"object","description":"Log temporary URL creation payload","properties":{"kind":{"type":"string","description":"Log kind name"}},"required":["kind"]},"dbaas.logs.MetricSubscription":{"type":"object","description":"Metric subscription","properties":{"createdAt":{"type":"string","description":"Creation date of the subscription","format":"date-time","readOnly":true},"resource":{"allOf":[{"$ref":"#/components/schemas/dbaas.logs.SubscriptionResource"}],"description":"Subscribed resource, where the metric come from","readOnly":true},"serviceName":{"type":"string","description":"Name of the destination metric service","readOnly":true},"subscriptionId":{"type":"string","description":"Subscription ID","format":"uuid","readOnly":true},"tenantId":{"type":"string","description":"Id of the destination metric tenant","readOnly":true},"updatedAt":{"type":"string","description":"Last update date of the subscription","format":"date-time","readOnly":true}}},"dbaas.logs.MetricSubscriptionCreation":{"type":"object","description":"Metric subscription creation payload","properties":{"tenantId":{"type":"string","description":"Customer metric tenant ID","format":"uuid"}},"required":["tenantId"]},"dbaas.logs.MetricSubscriptionResponse":{"type":"object","description":"Asynchronous operation after subscribing or unsubscribing to a resource metrics","properties":{"operationId":{"type":"string","description":"Identifier of the operation","format":"uuid","readOnly":true},"serviceName":{"type":"string","description":"Operation owner's service name","readOnly":true}}},"dbaas.logs.SubscriptionResource":{"type":"object","description":"Log subscription resource","properties":{"name":{"type":"string","description":"Name of subscribed resource","readOnly":true},"type":{"type":"string","description":"Type of subscribed resource","readOnly":true}}},"dbaas.logs.TemporaryLogsLink":{"type":"object","description":"Temporary url information","properties":{"expirationDate":{"type":"string","description":"Temporary url expiration date","format":"date-time","readOnly":true},"url":{"type":"string","description":"Temporary url","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"},"iam.ResourceMetadata":{"type":"object","description":"IAM resource metadata embedded in services models","properties":{"displayName":{"type":"string","description":"Resource display name","nullable":true,"readOnly":true},"id":{"type":"string","description":"Unique identifier of the resource","format":"uuid","readOnly":true},"state":{"allOf":[{"$ref":"#/components/schemas/iam.ResourceMetadata.StateEnum"}],"description":"Resource state","nullable":true,"readOnly":true},"tags":{"type":"object","description":"Resource tags. Tags that were internally computed are prefixed with ovh:","nullable":true,"additionalProperties":{"type":"string"},"readOnly":true},"urn":{"type":"string","description":"Unique resource name used in policies","readOnly":true}}},"iam.ResourceMetadata.StateEnum":{"type":"string","description":"Resource state","enum":["EXPIRED","IN_CREATION","OK","SUSPENDED"]},"iam.resource.TagFilter":{"type":"object","description":"Resource tag filter","properties":{"operator":{"allOf":[{"$ref":"#/components/schemas/iam.resource.TagFilter.OperatorEnum"}],"description":"Operator to use in order to filter on the value (defaults to 'EQ')","nullable":true,"readOnly":true},"value":{"type":"string","description":"Value to use in order to filter tags","readOnly":true}}},"iam.resource.TagFilter.OperatorEnum":{"type":"string","description":"Operator that can be used in order to filter resources tags","enum":["EQ","EXISTS","ILIKE","LIKE","NEQ","NEXISTS"]},"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"},"nichandle.OvhSubsidiaryEnum":{"type":"string","description":"OVH subsidiaries","enum":["CZ","DE","ES","EU","FI","FR","GB","IE","IT","LT","MA","NL","PL","PT","SN","TN"]},"order.CurrencyCodeEnum":{"type":"string","description":"Currency code","enum":["AUD","CAD","CZK","EUR","GBP","INR","LTL","MAD","N/A","PLN","SGD","TND","USD","XOF","points"]},"order.Price":{"type":"object","description":"Price with its currency and textual representation","properties":{"currencyCode":{"allOf":[{"$ref":"#/components/schemas/order.CurrencyCodeEnum"}],"description":"Currency code","readOnly":true},"priceInUcents":{"type":"integer","description":"Price in microcents","nullable":true,"readOnly":true},"text":{"type":"string","description":"Textual representation","readOnly":true},"value":{"type":"number","description":"The effective price","readOnly":true}}},"phoneNumber":{"type":"string","description":"Phone number","format":"phone-number"},"service.RenewType":{"type":"object","description":"Map a possible renew for a specific service","properties":{"automatic":{"type":"boolean","description":"The service is automatically renewed"},"deleteAtExpiration":{"type":"boolean","description":"The service will be deleted at expiration"},"forced":{"type":"boolean","description":"The service forced to be renewed"},"manualPayment":{"type":"boolean","description":"The service needs to be manually renewed and paid","nullable":true},"period":{"type":"integer","description":"period of renew in month","nullable":true}}},"service.RenewalTypeEnum":{"type":"string","description":"Detailed renewal type of a service","enum":["automaticForcedProduct","automaticV2012","automaticV2014","automaticV2016","automaticV2024","manual","oneShot","option"]},"service.StateEnum":{"type":"string","enum":["autorenewInProgress","expired","inCreation","ok","pendingDebt","unPaid"]},"service.TerminationFutureUseEnum":{"type":"string","description":"All future uses you can provide for a service termination","enum":["NOT_REPLACING_SERVICE","OTHER","SUBSCRIBE_AN_OTHER_SERVICE","SUBSCRIBE_OTHER_KIND_OF_SERVICE_WITH_COMPETITOR","SUBSCRIBE_SIMILAR_SERVICE_WITH_COMPETITOR"]},"service.TerminationReasonEnum":{"type":"string","description":"All reasons you can provide for a service termination","enum":["FEATURES_DONT_SUIT_ME","LACK_OF_PERFORMANCES","MIGRATED_TO_ANOTHER_OVH_PRODUCT","MIGRATED_TO_COMPETITOR","NOT_ENOUGH_RECOGNITION","NOT_NEEDED_ANYMORE","NOT_RELIABLE","NO_ANSWER","OTHER","PRODUCT_DIMENSION_DONT_SUIT_ME","PRODUCT_TOOLS_DONT_SUIT_ME","TOO_EXPENSIVE","TOO_HARD_TO_USE","UNSATIFIED_BY_CUSTOMER_SUPPORT"]},"services.Service":{"type":"object","description":"Details about a Service","properties":{"canDeleteAtExpiration":{"type":"boolean","description":"Indicates that the service can be set up to be deleted at expiration","readOnly":true},"contactAdmin":{"type":"string","readOnly":true},"contactBilling":{"type":"string","readOnly":true},"contactTech":{"type":"string","readOnly":true},"creation":{"type":"string","format":"date","readOnly":true},"domain":{"type":"string","readOnly":true},"engagedUpTo":{"type":"string","nullable":true,"format":"date","readOnly":true},"expiration":{"type":"string","format":"date","readOnly":true},"possibleRenewPeriod":{"type":"array","description":"All the possible renew period of your service in month","nullable":true,"items":{"type":"integer"},"readOnly":true},"renew":{"allOf":[{"$ref":"#/components/schemas/service.RenewType"}],"description":"Way of handling the renew","nullable":true},"renewalType":{"allOf":[{"$ref":"#/components/schemas/service.RenewalTypeEnum"}],"readOnly":true},"serviceId":{"type":"integer","readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/service.StateEnum"}],"readOnly":true}}},"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":{"/cloud/agreements":{"get":{"summary":"Get agreements related to a product","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"query","name":"product","description":"Name of a product supported by cloud projects","required":true,"schema":{"$ref":"#/components/schemas/cloud.project.ProductNameEnum"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ProductAgreements"}}}}},"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(\"/cloud/agreements\")\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(\"/cloud/agreements\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"account:apiovh:publicCloudProject/agreements/get","required":true}]}},"/cloud/eligibility":{"get":{"summary":"Check project order eligibility","description":"Check project order eligibility. Returns the actions required before ordering a project, the minimum credit and the accepted payment methods. Give a voucher code to check its credit at the same time.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"query","name":"voucher","description":"Voucher code","schema":{"type":"string","format":"password"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.EligibilityInfo"}}}}},"x-developer-hub-navigation":[["Public Cloud","Project Management","Lifecycle"]],"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(\"/cloud/eligibility\")\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(\"/cloud/eligibility\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"account:apiovh:publicCloudProject/eligibility/get","required":true}]}},"/cloud/order":{"get":{"summary":"Get all cloud pending orders","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"query","name":"planCode","description":"Order plan code","schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.order.Order"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/order\")\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(\"/cloud/order\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"account:apiovh:cloud/order/get","required":true}]}},"/cloud/order/rule/availability":{"get":{"summary":"Get product availability","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"query","name":"addonFamily","description":"Addon family filter","schema":{"type":"string"}},{"in":"query","name":"ovhSubsidiary","description":"OVH subsidiary","required":true,"schema":{"$ref":"#/components/schemas/nichandle.OvhSubsidiaryEnum"}},{"in":"query","name":"planCode","description":"Plan code filter","schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.order.rule.Availability"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/order/rule/availability\")\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(\"/cloud/order/rule/availability\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"account:apiovh:cloud/order/rule/availability/get","required":true}]}},"/cloud/project":{"get":{"operationId":"getProjects","summary":"List available public cloud projects","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"query","name":"iamTags","description":"Filter resources on IAM tags","schema":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/iam.resource.TagFilter"}}}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project\")\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(\"/cloud/project\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:get","required":true}],"x-expanded-response":"CloudProjectWithIAM"}},"/cloud/project/{serviceName}":{"get":{"operationId":"getProject","summary":"Get a public cloud project properties","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ProjectWithIAM"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}\")\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(\"/cloud/project/{serviceName}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:get","required":true}]},"put":{"summary":"Alter this object properties","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.Project"}}}},"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.Project\nresult = client.put(\"/cloud/project/{serviceName}\",\n\tdescription = None, # Description of your project (type: string, nullable)\n\tmanualQuota = None, # Manual quota prevent automatic quota upgrade (type: boolean)\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: cloud.Project\n$result = $ovh->put(\"/cloud/project/{serviceName}\", array(\n\tdescription => null, // Description of your project (type: string, nullable)\n\tmanualQuota => null, // Manual quota prevent automatic quota upgrade (type: boolean)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:edit","required":true}]}},"/cloud/project/{serviceName}/acl":{"get":{"summary":"List project ACLs","description":"List project ACLs. Returns the OVHcloud accounts that have access to the project. Filter by access type with the `type` parameter.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"The project id","required":true,"schema":{"type":"string"}},{"in":"query","name":"type","description":"Filter the value of type property (=)","schema":{"$ref":"#/components/schemas/cloud.AclTypeEnum"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}},"x-developer-hub-navigation":[["Public Cloud","Project Management","Access Control"]],"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/acl\")\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(\"/cloud/project/{serviceName}/acl\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:acl/get","required":true}],"x-expanded-response":"CloudAcl"},"post":{"summary":"Grant access to the project","description":"Grant access to the project. Gives another OVHcloud account read-only or read-write access to the project.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"The project id","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"accountId":{"type":"string","description":"Deleguates rights to"},"type":{"description":"Acl type","$ref":"#/components/schemas/cloud.AclTypeEnum"}},"required":["accountId","type"]}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.Acl"}}}}},"x-developer-hub-navigation":[["Public Cloud","Project Management","Access Control"]],"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/acl\",\n\taccountId = None, # Deleguates rights to (type: coreTypes.AccountId:string)\n\ttype = None, # Acl type (type: cloud.AclTypeEnum)\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$result = $ovh->post(\"/cloud/project/{serviceName}/acl\", array(\n\taccountId => null, // Deleguates rights to (type: coreTypes.AccountId:string)\n\ttype => null, // Acl type (type: cloud.AclTypeEnum)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:acl/create","required":true}]}},"/cloud/project/{serviceName}/acl/{accountId}":{"delete":{"summary":"Revoke access to the project. Removes the access of the OVHcloud account to the project.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"accountId","description":"OVH customer unique identifier","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"The project id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-developer-hub-navigation":[["Public Cloud","Project Management","Access Control"]],"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/acl/{accountId}\")\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(\"/cloud/project/{serviceName}/acl/{accountId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:acl/delete","required":true}]},"get":{"summary":"Get a project ACL","description":"Get a project ACL. Returns the access type of one OVHcloud account on the project: read-only or read-write.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"accountId","description":"OVH customer unique identifier","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"The project id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.Acl"}}}}},"x-developer-hub-navigation":[["Public Cloud","Project Management","Access Control"]],"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/acl/{accountId}\")\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(\"/cloud/project/{serviceName}/acl/{accountId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:acl/get","required":true}]}},"/cloud/project/{serviceName}/activateMonthlyBilling":{"post":{"summary":"Activate monthly billing on multiple instances","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ProjectActivateMonthlyBillingCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.instance.Instance"}}}}}},"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: cloud.ProjectActivateMonthlyBillingCreation\nresult = client.post(\"/cloud/project/{serviceName}/activateMonthlyBilling\",\n\tinstances = None, # Instance ids and regions (type: array)\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: cloud.ProjectActivateMonthlyBillingCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/activateMonthlyBilling\", array(\n\tinstances => null, // Instance ids and regions (type: array)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:activateMonthlyBilling","required":true}]}},"/cloud/project/{serviceName}/ai/app":{"get":{"summary":"List apps","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"query","name":"labelSelector","description":"Filter on app label (e.g. 'app_name=kind_of_magic')","schema":{"type":"string"}},{"in":"query","name":"order","description":"Order the result set","schema":{"$ref":"#/components/schemas/cloud.project.ai.OrderEnum"}},{"in":"query","name":"page","description":"Page of the result set","schema":{"type":"integer"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"query","name":"size","description":"Size of the result set","schema":{"type":"integer"}},{"in":"query","name":"sort","description":"Sort the result with this field","schema":{"type":"string"}},{"in":"query","name":"statusState","description":"Filter on status state","schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.ai.app.AppStateEnum"}}},{"in":"query","name":"updatedAfter","description":"Filter on updatedAt property (>)","schema":{"type":"string","format":"date-time"}},{"in":"query","name":"updatedBefore","description":"Filter on updatedAt property (<)","schema":{"type":"string","format":"date-time"}},{"in":"query","name":"userName","description":"User that submit the job","schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.ai.app.App"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/app\")\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(\"/cloud/project/{serviceName}/ai/app\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/app/get","required":true}],"x-response-identifier":"id","x-expanded-response":"CloudProjectAiAppApp"},"post":{"summary":"Create a new app","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.app.AppSpecInput"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.app.App"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.ai.app.AppSpecInput\nresult = client.post(\"/cloud/project/{serviceName}/ai/app\",\n\tcommand = None, # App command (type: array, nullable)\n\tdefaultHttpPort = None, # Default port to access http service inside the app (type: integer, nullable)\n\tdeploymentStrategy = None, # AI App deployment strategy (type: cloud.project.ai.app.DeploymentStrategy, nullable)\n\tenvVars = None, # List of environment variable to be set inside the app (type: array, nullable)\n\tgrpcPort = None, # GRPC Port that we want to expose in case workload HTTP & gRPC servers cannot be multiplexed to listen on the same port (type: integer, nullable)\n\timage = None, # Docker or capability image to use in the app. App capability images must comply with the pattern 'image-id:version' (type: string)\n\tlabels = None, # Labels are used to scope tokens, labels prefixed by 'ovh/' are owned by the platform and overridden (type: object, nullable)\n\tlivenessProbe = None, # App liveness probe (type: cloud.project.ai.app.ProbeInput, nullable)\n\tname = None, # App name (type: string)\n\tpartnerId = None, # Partner ID (type: string, nullable)\n\tprobe = None, # App readiness probe (type: cloud.project.ai.app.ProbeInput, nullable)\n\tregion = None, # Host region of the app (type: string)\n\tresources = None, # App resources (type: cloud.project.ai.ResourcesInput)\n\tscalingStrategy = None, # App scaling strategy (type: cloud.project.ai.app.ScalingStrategyInput, nullable)\n\tunsecureHttp = None, # Whether if app api port can be accessed without any authentication token (type: boolean, nullable)\n\tvolumes = None, # App Data linked (type: array, nullable)\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: cloud.project.ai.app.AppSpecInput\n$result = $ovh->post(\"/cloud/project/{serviceName}/ai/app\", array(\n\tcommand => null, // App command (type: array, nullable)\n\tdefaultHttpPort => null, // Default port to access http service inside the app (type: integer, nullable)\n\tdeploymentStrategy => null, // AI App deployment strategy (type: cloud.project.ai.app.DeploymentStrategy, nullable)\n\tenvVars => null, // List of environment variable to be set inside the app (type: array, nullable)\n\tgrpcPort => null, // GRPC Port that we want to expose in case workload HTTP & gRPC servers cannot be multiplexed to listen on the same port (type: integer, nullable)\n\timage => null, // Docker or capability image to use in the app. App capability images must comply with the pattern 'image-id:version' (type: string)\n\tlabels => null, // Labels are used to scope tokens, labels prefixed by 'ovh/' are owned by the platform and overridden (type: object, nullable)\n\tlivenessProbe => null, // App liveness probe (type: cloud.project.ai.app.ProbeInput, nullable)\n\tname => null, // App name (type: string)\n\tpartnerId => null, // Partner ID (type: string, nullable)\n\tprobe => null, // App readiness probe (type: cloud.project.ai.app.ProbeInput, nullable)\n\tregion => null, // Host region of the app (type: string)\n\tresources => null, // App resources (type: cloud.project.ai.ResourcesInput)\n\tscalingStrategy => null, // App scaling strategy (type: cloud.project.ai.app.ScalingStrategyInput, nullable)\n\tunsecureHttp => null, // Whether if app api port can be accessed without any authentication token (type: boolean, nullable)\n\tvolumes => null, // App Data linked (type: array, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/app/create","required":true}]}},"/cloud/project/{serviceName}/ai/app/command":{"post":{"summary":"Generate an app spec corresponding CLI command","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.app.AppSpecInput"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.Command"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.ai.app.AppSpecInput\nresult = client.post(\"/cloud/project/{serviceName}/ai/app/command\",\n\tcommand = None, # App command (type: array, nullable)\n\tdefaultHttpPort = None, # Default port to access http service inside the app (type: integer, nullable)\n\tdeploymentStrategy = None, # AI App deployment strategy (type: cloud.project.ai.app.DeploymentStrategy, nullable)\n\tenvVars = None, # List of environment variable to be set inside the app (type: array, nullable)\n\tgrpcPort = None, # GRPC Port that we want to expose in case workload HTTP & gRPC servers cannot be multiplexed to listen on the same port (type: integer, nullable)\n\timage = None, # Docker or capability image to use in the app. App capability images must comply with the pattern 'image-id:version' (type: string)\n\tlabels = None, # Labels are used to scope tokens, labels prefixed by 'ovh/' are owned by the platform and overridden (type: object, nullable)\n\tlivenessProbe = None, # App liveness probe (type: cloud.project.ai.app.ProbeInput, nullable)\n\tname = None, # App name (type: string)\n\tpartnerId = None, # Partner ID (type: string, nullable)\n\tprobe = None, # App readiness probe (type: cloud.project.ai.app.ProbeInput, nullable)\n\tregion = None, # Host region of the app (type: string)\n\tresources = None, # App resources (type: cloud.project.ai.ResourcesInput)\n\tscalingStrategy = None, # App scaling strategy (type: cloud.project.ai.app.ScalingStrategyInput, nullable)\n\tunsecureHttp = None, # Whether if app api port can be accessed without any authentication token (type: boolean, nullable)\n\tvolumes = None, # App Data linked (type: array, nullable)\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: cloud.project.ai.app.AppSpecInput\n$result = $ovh->post(\"/cloud/project/{serviceName}/ai/app/command\", array(\n\tcommand => null, // App command (type: array, nullable)\n\tdefaultHttpPort => null, // Default port to access http service inside the app (type: integer, nullable)\n\tdeploymentStrategy => null, // AI App deployment strategy (type: cloud.project.ai.app.DeploymentStrategy, nullable)\n\tenvVars => null, // List of environment variable to be set inside the app (type: array, nullable)\n\tgrpcPort => null, // GRPC Port that we want to expose in case workload HTTP & gRPC servers cannot be multiplexed to listen on the same port (type: integer, nullable)\n\timage => null, // Docker or capability image to use in the app. App capability images must comply with the pattern 'image-id:version' (type: string)\n\tlabels => null, // Labels are used to scope tokens, labels prefixed by 'ovh/' are owned by the platform and overridden (type: object, nullable)\n\tlivenessProbe => null, // App liveness probe (type: cloud.project.ai.app.ProbeInput, nullable)\n\tname => null, // App name (type: string)\n\tpartnerId => null, // Partner ID (type: string, nullable)\n\tprobe => null, // App readiness probe (type: cloud.project.ai.app.ProbeInput, nullable)\n\tregion => null, // Host region of the app (type: string)\n\tresources => null, // App resources (type: cloud.project.ai.ResourcesInput)\n\tscalingStrategy => null, // App scaling strategy (type: cloud.project.ai.app.ScalingStrategyInput, nullable)\n\tunsecureHttp => null, // Whether if app api port can be accessed without any authentication token (type: boolean, nullable)\n\tvolumes => null, // App Data linked (type: array, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/app/command/get","required":true}]}},"/cloud/project/{serviceName}/ai/app/{appId}":{"delete":{"summary":"Delete an app","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"appId","description":"App ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"query","name":"force","description":"Force app deletion by killing it if at a running state","schema":{"type":"boolean"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/app/{appId}\")\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(\"/cloud/project/{serviceName}/ai/app/{appId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/app/delete","required":true}]},"get":{"summary":"Get app information","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"appId","description":"App ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.app.App"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/app/{appId}\")\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(\"/cloud/project/{serviceName}/ai/app/{appId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/app/get","required":true}],"x-response-identifier":"id"},"put":{"summary":"Update several parts of an app's spec","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"appId","description":"App ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.app.UpdateInput"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.app.App"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.ai.app.UpdateInput\nresult = client.put(\"/cloud/project/{serviceName}/ai/app/{appId}\",\n\tcommand = None, # App command and arguments. Pass empty list to reset (type: array, nullable)\n\tcpu = None, # Number of CPU resources requested (applies to CPU flavors) (type: integer, nullable)\n\tdefaultHttpPort = None, # Default port to access http service inside the app (type: integer, nullable)\n\tdeploymentStrategy = None, # Deployment strategy to use when updating this AI App (type: cloud.project.ai.app.DeploymentStrategy, nullable)\n\tenvVars = None, # Environment variables to be patched (empty/null value to remove) (type: array, nullable)\n\tflavor = None, # App instance flavor (type: string, nullable)\n\tflavorCount = None, # Number of desired units of the chosen flavor (type: integer, nullable)\n\tgpu = None, # Number of GPU resources requested (applies to GPU flavors) (type: integer, nullable)\n\tgrpcPort = None, # GRPC Port that we want to expose in case workload HTTP & gRPC servers cannot be multiplexed to listen on the same port (type: integer, nullable)\n\tlivenessProbe = None, # App liveness probe (type: cloud.project.ai.app.ProbeInput, nullable)\n\tprobe = None, # App readiness probe (type: cloud.project.ai.app.ProbeInput, nullable)\n\turl = None, # URL of the Docker image for this AI deployment (type: string, nullable)\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: cloud.project.ai.app.UpdateInput\n$result = $ovh->put(\"/cloud/project/{serviceName}/ai/app/{appId}\", array(\n\tcommand => null, // App command and arguments. Pass empty list to reset (type: array, nullable)\n\tcpu => null, // Number of CPU resources requested (applies to CPU flavors) (type: integer, nullable)\n\tdefaultHttpPort => null, // Default port to access http service inside the app (type: integer, nullable)\n\tdeploymentStrategy => null, // Deployment strategy to use when updating this AI App (type: cloud.project.ai.app.DeploymentStrategy, nullable)\n\tenvVars => null, // Environment variables to be patched (empty/null value to remove) (type: array, nullable)\n\tflavor => null, // App instance flavor (type: string, nullable)\n\tflavorCount => null, // Number of desired units of the chosen flavor (type: integer, nullable)\n\tgpu => null, // Number of GPU resources requested (applies to GPU flavors) (type: integer, nullable)\n\tgrpcPort => null, // GRPC Port that we want to expose in case workload HTTP & gRPC servers cannot be multiplexed to listen on the same port (type: integer, nullable)\n\tlivenessProbe => null, // App liveness probe (type: cloud.project.ai.app.ProbeInput, nullable)\n\tprobe => null, // App readiness probe (type: cloud.project.ai.app.ProbeInput, nullable)\n\turl => null, // URL of the Docker image for this AI deployment (type: string, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/app/edit","required":true}]}},"/cloud/project/{serviceName}/ai/app/{appId}/datasync":{"post":{"summary":"Starts a manual data synchronization on an app","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"appId","description":"App ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.volume.DataSyncSpec"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.volume.DataSync"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.ai.volume.DataSyncSpec\nresult = client.post(\"/cloud/project/{serviceName}/ai/app/{appId}/datasync\",\n\tdirection = None, # Direction of the sync (type: cloud.project.ai.volume.DataSyncEnum)\n\tvolume = None, # Only sync this volume (type: string, nullable)\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: cloud.project.ai.volume.DataSyncSpec\n$result = $ovh->post(\"/cloud/project/{serviceName}/ai/app/{appId}/datasync\", array(\n\tdirection => null, // Direction of the sync (type: cloud.project.ai.volume.DataSyncEnum)\n\tvolume => null, // Only sync this volume (type: string, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/datasync/create","required":true}]}},"/cloud/project/{serviceName}/ai/app/{appId}/image":{"put":{"summary":"Set the Docker image of an AI app","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"appId","description":"App ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.app.AppImageInput"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.GenericResponse"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.ai.app.AppImageInput\nresult = client.put(\"/cloud/project/{serviceName}/ai/app/{appId}/image\",\n\turl = None, # URL of the Docker image (type: string)\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: cloud.project.ai.app.AppImageInput\n$result = $ovh->put(\"/cloud/project/{serviceName}/ai/app/{appId}/image\", array(\n\turl => null, // URL of the Docker image (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/app/image/edit","required":true}]}},"/cloud/project/{serviceName}/ai/app/{appId}/label":{"put":{"summary":"Update/add an AI Solutions app label","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"appId","description":"App ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.Label"}}}},"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.ai.Label\nresult = client.put(\"/cloud/project/{serviceName}/ai/app/{appId}/label\",\n\tname = None, # Name of the label to update/add (type: string)\n\tvalue = None, # Value of the label to update/add, is there is no value the label is deleted (type: string, nullable)\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: cloud.project.ai.Label\n$result = $ovh->put(\"/cloud/project/{serviceName}/ai/app/{appId}/label\", array(\n\tname => null, // Name of the label to update/add (type: string)\n\tvalue => null, // Value of the label to update/add, is there is no value the label is deleted (type: string, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/app/label/edit","required":true}]}},"/cloud/project/{serviceName}/ai/app/{appId}/log":{"get":{"summary":"Get the logs of an app","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"appId","description":"App ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"query","name":"page","description":"Page of the result set","schema":{"type":"integer"}},{"in":"query","name":"replica","description":"Only show logs from this replica","schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"query","name":"size","description":"Size of the result set","schema":{"type":"integer"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.Logs"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/app/{appId}/log\")\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(\"/cloud/project/{serviceName}/ai/app/{appId}/log\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/app/log/get","required":true}]}},"/cloud/project/{serviceName}/ai/app/{appId}/log/kind":{"get":{"summary":"List available log kinds","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"appId","description":"App ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/app/{appId}/log/kind\")\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(\"/cloud/project/{serviceName}/ai/app/{appId}/log/kind\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/applog/kind/get","required":true}],"x-expanded-response":"DbaasLogsLogKind"}},"/cloud/project/{serviceName}/ai/app/{appId}/log/kind/{name}":{"get":{"summary":"Get a log kind","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"appId","description":"App ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"name","description":"Name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogKind"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/app/{appId}/log/kind/{name}\")\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(\"/cloud/project/{serviceName}/ai/app/{appId}/log/kind/{name}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/applog/kind/get","required":true}],"x-response-identifier":"name"}},"/cloud/project/{serviceName}/ai/app/{appId}/log/subscription":{"get":{"summary":"List log subscription IDs for a cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"appId","description":"App ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"query","name":"kind","description":"Filter on a specific kind (e.g., audit)","schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/app/{appId}/log/subscription\")\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(\"/cloud/project/{serviceName}/ai/app/{appId}/log/subscription\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/applog/subscription/get","required":true}],"x-expanded-response":"DbaasLogsLogSubscription"},"post":{"summary":"Create a subscription from Public Cloud AI Deploy logs to a pre-existing LDP stream","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"appId","description":"App ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscriptionCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscriptionResponse"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: dbaas.logs.LogSubscriptionCreation\nresult = client.post(\"/cloud/project/{serviceName}/ai/app/{appId}/log/subscription\",\n\tkind = None, # Log kind name to subscribe to (type: string)\n\tstreamId = None, # Customer log stream ID (type: string)\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: dbaas.logs.LogSubscriptionCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/ai/app/{appId}/log/subscription\", array(\n\tkind => null, // Log kind name to subscribe to (type: string)\n\tstreamId => null, // Customer log stream ID (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/applog/subscription/create","required":true},{"name":"ldp:apiovh:output/graylog/stream/forwardTo","description":"Required on the targeted LDP service","required":true}]}},"/cloud/project/{serviceName}/ai/app/{appId}/log/subscription/{subscriptionId}":{"delete":{"summary":"Delete a log subscription","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"appId","description":"App ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"subscriptionId","description":"Subscription ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscriptionResponse"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/app/{appId}/log/subscription/{subscriptionId}\")\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(\"/cloud/project/{serviceName}/ai/app/{appId}/log/subscription/{subscriptionId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/applog/subscription/delete","required":true}]},"get":{"summary":"Get log subscription details","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"appId","description":"App ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"subscriptionId","description":"Subscription ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscription"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/app/{appId}/log/subscription/{subscriptionId}\")\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(\"/cloud/project/{serviceName}/ai/app/{appId}/log/subscription/{subscriptionId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/applog/subscription/get","required":true}],"x-response-identifier":"subscriptionId"}},"/cloud/project/{serviceName}/ai/app/{appId}/log/url":{"post":{"summary":"Generate a temporary URL to retrieve logs","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"appId","description":"App ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogUrlCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.TemporaryLogsLink"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: dbaas.logs.LogUrlCreation\nresult = client.post(\"/cloud/project/{serviceName}/ai/app/{appId}/log/url\",\n\tkind = None, # Log kind name (type: string)\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: dbaas.logs.LogUrlCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/ai/app/{appId}/log/url\", array(\n\tkind => null, // Log kind name (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/applog/url/create","required":true}]}},"/cloud/project/{serviceName}/ai/app/{appId}/scalingstrategy":{"put":{"summary":"Scale a App","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"appId","description":"App ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.app.ScalingStrategyInput"}}}},"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.ai.app.ScalingStrategyInput\nresult = client.put(\"/cloud/project/{serviceName}/ai/app/{appId}/scalingstrategy\",\n\tautomatic = None, # Strategy setting a variable number of replicas, based on an average resource usage threshold (conflicts with 'fixed' property when both are not null) (type: cloud.project.ai.app.ScalingAutomaticStrategyInput, nullable)\n\tfixed = None, # Strategy setting a fix number of replicas (conflicts with 'automatic' property when both are not null) (type: cloud.project.ai.app.ScalingFixedStrategyInput, nullable)\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: cloud.project.ai.app.ScalingStrategyInput\n$result = $ovh->put(\"/cloud/project/{serviceName}/ai/app/{appId}/scalingstrategy\", array(\n\tautomatic => null, // Strategy setting a variable number of replicas, based on an average resource usage threshold (conflicts with 'fixed' property when both are not null) (type: cloud.project.ai.app.ScalingAutomaticStrategyInput, nullable)\n\tfixed => null, // Strategy setting a fix number of replicas (conflicts with 'automatic' property when both are not null) (type: cloud.project.ai.app.ScalingFixedStrategyInput, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/app/scalingstrategy/edit","required":true}]}},"/cloud/project/{serviceName}/ai/app/{appId}/start":{"put":{"summary":"Start an existing AI Solutions app","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"appId","description":"App ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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.put(\"/cloud/project/{serviceName}/ai/app/{appId}/start\")\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->put(\"/cloud/project/{serviceName}/ai/app/{appId}/start\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/app/start","required":true}]}},"/cloud/project/{serviceName}/ai/app/{appId}/stop":{"put":{"summary":"Stop an AI Solutions app","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"appId","description":"App ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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.put(\"/cloud/project/{serviceName}/ai/app/{appId}/stop\")\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->put(\"/cloud/project/{serviceName}/ai/app/{appId}/stop\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/app/stop","required":true}]}},"/cloud/project/{serviceName}/ai/authorization":{"get":{"summary":"Get authorization status","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.AuthorizationStatus"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/authorization\")\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(\"/cloud/project/{serviceName}/ai/authorization\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/authorization/get","required":true}]},"post":{"summary":"Authorization of AI Solutions service by allowing access to your object storage containers","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/ai/authorization\")\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->post(\"/cloud/project/{serviceName}/ai/authorization\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/authorization/create","required":true}]}},"/cloud/project/{serviceName}/ai/capabilities/feature":{"get":{"summary":"List AI Solutions available features","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.capabilities.Features"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/capabilities/feature\")\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(\"/cloud/project/{serviceName}/ai/capabilities/feature\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/capabilities/feature/get","required":true}]}},"/cloud/project/{serviceName}/ai/capabilities/quota":{"get":{"summary":"List AI Solutions available quotas","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.capabilities.ProjectQuotas"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/capabilities/quota\")\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(\"/cloud/project/{serviceName}/ai/capabilities/quota\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/capabilities/quota/get","required":true}]}},"/cloud/project/{serviceName}/ai/capabilities/region":{"get":{"summary":"List Region","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.ai.capabilities.Region"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/capabilities/region\")\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(\"/cloud/project/{serviceName}/ai/capabilities/region\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/capabilities/region/get","required":true}],"x-response-identifier":"id","x-expanded-response":"CloudProjectAiCapabilitiesRegion"}},"/cloud/project/{serviceName}/ai/capabilities/region/{region}":{"get":{"summary":"Get Region Information","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"region","description":"Region","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.capabilities.Region"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/capabilities/region/{region}\")\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(\"/cloud/project/{serviceName}/ai/capabilities/region/{region}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/capabilities/region/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/ai/capabilities/region/{region}/app/image":{"get":{"summary":"List AI Solutions App images","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"region","description":"Region","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.ai.capabilities.app.Image"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/capabilities/region/{region}/app/image\")\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(\"/cloud/project/{serviceName}/ai/capabilities/region/{region}/app/image\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/capabilities/region/app/image/get","required":true}]}},"/cloud/project/{serviceName}/ai/capabilities/region/{region}/data/region":{"get":{"summary":"Get Available data regions Information","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"region","description":"Region","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/capabilities/region/{region}/data/region\")\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(\"/cloud/project/{serviceName}/ai/capabilities/region/{region}/data/region\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/capabilities/region/data/region/get","required":true}]}},"/cloud/project/{serviceName}/ai/capabilities/region/{region}/flavor":{"get":{"summary":"List Flavors","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"region","description":"Region","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.ai.capabilities.Flavor"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/capabilities/region/{region}/flavor\")\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(\"/cloud/project/{serviceName}/ai/capabilities/region/{region}/flavor\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/capabilities/region/flavor/get","required":true}],"x-response-identifier":"id","x-expanded-response":"CloudProjectAiCapabilitiesFlavor"}},"/cloud/project/{serviceName}/ai/capabilities/region/{region}/flavor/{flavorId}":{"get":{"summary":"Get Flavor Information","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"flavorId","description":"Flavor ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"region","description":"Region","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.capabilities.Flavor"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/capabilities/region/{region}/flavor/{flavorId}\")\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(\"/cloud/project/{serviceName}/ai/capabilities/region/{region}/flavor/{flavorId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/capabilities/region/flavor/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/ai/capabilities/region/{region}/job/image":{"get":{"summary":"List AI Solutions Job images","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"region","description":"Region","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.ai.capabilities.job.Image"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/capabilities/region/{region}/job/image\")\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(\"/cloud/project/{serviceName}/ai/capabilities/region/{region}/job/image\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/capabilities/region/job/image/get","required":true}]}},"/cloud/project/{serviceName}/ai/capabilities/region/{region}/notebook/editor":{"get":{"summary":"List AI Solutions Notebook editors","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"query","name":"compatibleWithFramework","description":"Only list editors compatible with this framework","schema":{"type":"string"}},{"in":"path","name":"region","description":"Region","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.ai.capabilities.notebook.Editor"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/capabilities/region/{region}/notebook/editor\")\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(\"/cloud/project/{serviceName}/ai/capabilities/region/{region}/notebook/editor\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/capabilities/region/notebook/editor/get","required":true}],"x-response-identifier":"id","x-expanded-response":"CloudProjectAiCapabilitiesNotebookEditor"}},"/cloud/project/{serviceName}/ai/capabilities/region/{region}/notebook/editor/{editorId}":{"get":{"summary":"Get an AI Solutions Notebook editor","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"editorId","description":"Editor ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"region","description":"Region","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.capabilities.notebook.Editor"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/capabilities/region/{region}/notebook/editor/{editorId}\")\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(\"/cloud/project/{serviceName}/ai/capabilities/region/{region}/notebook/editor/{editorId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/capabilities/region/notebook/editor/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/ai/capabilities/region/{region}/notebook/framework":{"get":{"summary":"List AI Solutions Notebook frameworks","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"query","name":"compatibleWithEditor","description":"Only list frameworks compatible with this editor","schema":{"type":"string"}},{"in":"path","name":"region","description":"Region","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"query","name":"type","description":"Only list frameworks of this type","schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.ai.capabilities.notebook.Framework"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/capabilities/region/{region}/notebook/framework\")\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(\"/cloud/project/{serviceName}/ai/capabilities/region/{region}/notebook/framework\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/capabilities/region/notebook/framework/get","required":true}],"x-response-identifier":"id","x-expanded-response":"CloudProjectAiCapabilitiesNotebookFramework"}},"/cloud/project/{serviceName}/ai/capabilities/region/{region}/notebook/framework/{frameworkId}":{"get":{"summary":"Get an AI Solutions Notebook framework","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"frameworkId","description":"Framework ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"region","description":"Region","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.capabilities.notebook.Framework"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/capabilities/region/{region}/notebook/framework/{frameworkId}\")\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(\"/cloud/project/{serviceName}/ai/capabilities/region/{region}/notebook/framework/{frameworkId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/capabilities/region/notebook/framework/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/ai/capabilities/region/{region}/notebook/workspacebackupretentionpolicy":{"get":{"summary":"Get the applied notebook backup retention policy for the parent public cloud project and region","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"region","description":"Region","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.notebook.NotebookWorkspaceBackupRetentionPolicy"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/capabilities/region/{region}/notebook/workspacebackupretentionpolicy\")\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(\"/cloud/project/{serviceName}/ai/capabilities/region/{region}/notebook/workspacebackupretentionpolicy\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/capabilities/region/notebook/workspaceBackupRetentionPolicy/get","required":true}]},"put":{"summary":"Override notebook backup retention policy for the parent public cloud project and region","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"region","description":"Region","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.notebook.NotebookWorkspaceBackupRetentionPolicyInput"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.notebook.NotebookWorkspaceBackupRetentionPolicy"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.ai.notebook.NotebookWorkspaceBackupRetentionPolicyInput\nresult = client.put(\"/cloud/project/{serviceName}/ai/capabilities/region/{region}/notebook/workspacebackupretentionpolicy\",\n\tlifetimeEvictionThreshold = None, # Position in the backup history from which the lifetime-based eviction can be applied to a workspace backup (type: integer, nullable)\n\tlifetimeInDays = None, # Maximum number of retention days for a given notebook's workspace backups which is at or after lifetime_eviction_threshold index in history (type: integer, nullable)\n\tretainedNumber = None, # The number of retained workspace backups for a given notebook (type: integer, nullable)\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: cloud.project.ai.notebook.NotebookWorkspaceBackupRetentionPolicyInput\n$result = $ovh->put(\"/cloud/project/{serviceName}/ai/capabilities/region/{region}/notebook/workspacebackupretentionpolicy\", array(\n\tlifetimeEvictionThreshold => null, // Position in the backup history from which the lifetime-based eviction can be applied to a workspace backup (type: integer, nullable)\n\tlifetimeInDays => null, // Maximum number of retention days for a given notebook's workspace backups which is at or after lifetime_eviction_threshold index in history (type: integer, nullable)\n\tretainedNumber => null, // The number of retained workspace backups for a given notebook (type: integer, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/capabilities/region/notebook/workspaceBackupRetentionPolicy/edit","required":true}]}},"/cloud/project/{serviceName}/ai/capabilities/region/{region}/preset":{"get":{"summary":"List Presets","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"region","description":"Region","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"query","name":"type","description":"Filter on type of preset image","schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.ai.capabilities.Preset"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/capabilities/region/{region}/preset\")\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(\"/cloud/project/{serviceName}/ai/capabilities/region/{region}/preset\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/capabilities/region/preset/get","required":true}],"x-response-identifier":"id","x-expanded-response":"CloudProjectAiCapabilitiesPreset"}},"/cloud/project/{serviceName}/ai/capabilities/region/{region}/preset/{presetId}":{"get":{"summary":"Get Preset Information","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"presetId","description":"Preset ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"region","description":"Region","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.capabilities.Preset"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/capabilities/region/{region}/preset/{presetId}\")\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(\"/cloud/project/{serviceName}/ai/capabilities/region/{region}/preset/{presetId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/capabilities/region/preset/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/ai/data/region":{"get":{"summary":"List Region","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.ai.capabilities.Region"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/data/region\")\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(\"/cloud/project/{serviceName}/ai/data/region\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/data/region/get","required":true}],"x-response-identifier":"id","x-expanded-response":"CloudProjectAiCapabilitiesRegion"}},"/cloud/project/{serviceName}/ai/data/region/{region}":{"get":{"summary":"Get Region Information","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"region","description":"Region","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.capabilities.Region"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/data/region/{region}\")\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(\"/cloud/project/{serviceName}/ai/data/region/{region}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/data/region/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/ai/data/region/{region}/alias":{"get":{"summary":"List datastores","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"region","description":"Region","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.ai.DataStore"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/data/region/{region}/alias\")\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(\"/cloud/project/{serviceName}/ai/data/region/{region}/alias\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/data/region/alias/get","required":true}],"x-response-identifier":"alias","x-expanded-response":"CloudProjectAiDataStore"},"post":{"summary":"Create a new datastore","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"region","description":"Region","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"query","name":"skipDataStoreConnectionCheck","description":"If set to true, it will skip the data store connection check","schema":{"type":"boolean"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.DataStoreInput"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.DataStore"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.ai.DataStoreInput\nresult = client.post(\"/cloud/project/{serviceName}/ai/data/region/{region}/alias\",\n\talias = None, # Data store alias (type: string)\n\tcredentials = None, # Data store credentials (type: cloud.project.ai.DataStoreCredentialsInput)\n\tendpoint = None, # Datastore endpoint (type: string)\n\towner = None, # Data store owner (type: cloud.project.ai.DataStoreOwnerEnum)\n\tprefix = None, # Data store prefix (type: string, nullable)\n\ttype = None, # Data store type (type: cloud.project.ai.DataStoreTypeEnum)\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: cloud.project.ai.DataStoreInput\n$result = $ovh->post(\"/cloud/project/{serviceName}/ai/data/region/{region}/alias\", array(\n\talias => null, // Data store alias (type: string)\n\tcredentials => null, // Data store credentials (type: cloud.project.ai.DataStoreCredentialsInput)\n\tendpoint => null, // Datastore endpoint (type: string)\n\towner => null, // Data store owner (type: cloud.project.ai.DataStoreOwnerEnum)\n\tprefix => null, // Data store prefix (type: string, nullable)\n\ttype => null, // Data store type (type: cloud.project.ai.DataStoreTypeEnum)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/data/region/alias/create","required":true}]}},"/cloud/project/{serviceName}/ai/data/region/{region}/alias/{alias}":{"delete":{"summary":"Permanently delete a datastore","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"alias","description":"Alias","required":true,"schema":{"type":"string"}},{"in":"path","name":"region","description":"Region","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/data/region/{region}/alias/{alias}\")\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(\"/cloud/project/{serviceName}/ai/data/region/{region}/alias/{alias}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/data/region/alias/delete","required":true}]},"get":{"summary":"Get Datastore Information","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"alias","description":"Alias","required":true,"schema":{"type":"string"}},{"in":"path","name":"region","description":"Region","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.DataStore"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/data/region/{region}/alias/{alias}\")\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(\"/cloud/project/{serviceName}/ai/data/region/{region}/alias/{alias}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/data/region/alias/get","required":true}],"x-response-identifier":"alias"},"put":{"summary":"Update a datastore","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"alias","description":"Alias","required":true,"schema":{"type":"string"}},{"in":"path","name":"region","description":"Region","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.DataStoreInput"}}}},"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.ai.DataStoreInput\nresult = client.put(\"/cloud/project/{serviceName}/ai/data/region/{region}/alias/{alias}\",\n\talias = None, # Data store alias (type: string)\n\tcredentials = None, # Data store credentials (type: cloud.project.ai.DataStoreCredentialsInput)\n\tendpoint = None, # Datastore endpoint (type: string)\n\towner = None, # Data store owner (type: cloud.project.ai.DataStoreOwnerEnum)\n\tprefix = None, # Data store prefix (type: string, nullable)\n\ttype = None, # Data store type (type: cloud.project.ai.DataStoreTypeEnum)\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: cloud.project.ai.DataStoreInput\n$result = $ovh->put(\"/cloud/project/{serviceName}/ai/data/region/{region}/alias/{alias}\", array(\n\talias => null, // Data store alias (type: string)\n\tcredentials => null, // Data store credentials (type: cloud.project.ai.DataStoreCredentialsInput)\n\tendpoint => null, // Datastore endpoint (type: string)\n\towner => null, // Data store owner (type: cloud.project.ai.DataStoreOwnerEnum)\n\tprefix => null, // Data store prefix (type: string, nullable)\n\ttype => null, // Data store type (type: cloud.project.ai.DataStoreTypeEnum)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/data/region/alias/edit","required":true}]}},"/cloud/project/{serviceName}/ai/data/region/{region}/alias/{alias}/auth":{"get":{"summary":"Get an AI datastore auth in a given region by its alias","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"alias","description":"Alias","required":true,"schema":{"type":"string"}},{"in":"path","name":"region","description":"Region","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.DataStoreAuth"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/data/region/{region}/alias/{alias}/auth\")\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(\"/cloud/project/{serviceName}/ai/data/region/{region}/alias/{alias}/auth\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/data/region/alias/auth/get","required":true}]}},"/cloud/project/{serviceName}/ai/endpoint":{"get":{"summary":"List AI Endpoints models available to the project","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/endpoint\")\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(\"/cloud/project/{serviceName}/ai/endpoint\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/endpoint/get","required":true}],"x-expanded-response":"CloudProjectAiEndpointsModel"}},"/cloud/project/{serviceName}/ai/endpoint/{modelName}":{"get":{"summary":"Get an AI Endpoints model","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"modelName","description":"Model name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.endpoints.Model"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/endpoint/{modelName}\")\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(\"/cloud/project/{serviceName}/ai/endpoint/{modelName}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/endpoint/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/ai/endpoint/{modelName}/log/kind":{"get":{"summary":"List available log kinds","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"modelName","description":"Model name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/endpoint/{modelName}/log/kind\")\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(\"/cloud/project/{serviceName}/ai/endpoint/{modelName}/log/kind\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/endpointlog/kind/get","required":true}],"x-expanded-response":"DbaasLogsLogKind"}},"/cloud/project/{serviceName}/ai/endpoint/{modelName}/log/kind/{name}":{"get":{"summary":"Get a log kind","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"modelName","description":"Model name","required":true,"schema":{"type":"string"}},{"in":"path","name":"name","description":"Name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogKind"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/endpoint/{modelName}/log/kind/{name}\")\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(\"/cloud/project/{serviceName}/ai/endpoint/{modelName}/log/kind/{name}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/endpointlog/kind/get","required":true}],"x-response-identifier":"name"}},"/cloud/project/{serviceName}/ai/endpoint/{modelName}/log/subscription":{"get":{"summary":"List log subscription IDs for a cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"query","name":"kind","description":"Filter on a specific kind (e.g., audit)","schema":{"type":"string"}},{"in":"path","name":"modelName","description":"Model name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/endpoint/{modelName}/log/subscription\")\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(\"/cloud/project/{serviceName}/ai/endpoint/{modelName}/log/subscription\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/endpointlog/subscription/get","required":true}],"x-expanded-response":"DbaasLogsLogSubscription"},"post":{"summary":"Create a subscription from Public Cloud AI Endpoints logs to a pre-existing LDP stream","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"modelName","description":"Model name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscriptionCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscriptionResponse"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: dbaas.logs.LogSubscriptionCreation\nresult = client.post(\"/cloud/project/{serviceName}/ai/endpoint/{modelName}/log/subscription\",\n\tkind = None, # Log kind name to subscribe to (type: string)\n\tstreamId = None, # Customer log stream ID (type: string)\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: dbaas.logs.LogSubscriptionCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/ai/endpoint/{modelName}/log/subscription\", array(\n\tkind => null, // Log kind name to subscribe to (type: string)\n\tstreamId => null, // Customer log stream ID (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/endpointlog/subscription/create","required":true},{"name":"ldp:apiovh:output/graylog/stream/forwardTo","description":"Required on the targeted LDP service","required":true}]}},"/cloud/project/{serviceName}/ai/endpoint/{modelName}/log/subscription/{subscriptionId}":{"delete":{"summary":"Delete a log subscription","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"modelName","description":"Model name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"subscriptionId","description":"Subscription ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscriptionResponse"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/endpoint/{modelName}/log/subscription/{subscriptionId}\")\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(\"/cloud/project/{serviceName}/ai/endpoint/{modelName}/log/subscription/{subscriptionId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/endpointlog/subscription/delete","required":true}]},"get":{"summary":"Get log subscription details","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"modelName","description":"Model name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"subscriptionId","description":"Subscription ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscription"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/endpoint/{modelName}/log/subscription/{subscriptionId}\")\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(\"/cloud/project/{serviceName}/ai/endpoint/{modelName}/log/subscription/{subscriptionId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/endpointlog/subscription/get","required":true}],"x-response-identifier":"subscriptionId"}},"/cloud/project/{serviceName}/ai/endpoint/{modelName}/log/url":{"post":{"summary":"Generate a temporary URL to retrieve logs","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"modelName","description":"Model name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogUrlCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.TemporaryLogsLink"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: dbaas.logs.LogUrlCreation\nresult = client.post(\"/cloud/project/{serviceName}/ai/endpoint/{modelName}/log/url\",\n\tkind = None, # Log kind name (type: string)\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: dbaas.logs.LogUrlCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/ai/endpoint/{modelName}/log/url\", array(\n\tkind => null, // Log kind name (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/endpointlog/url/create","required":true}]}},"/cloud/project/{serviceName}/ai/job":{"get":{"summary":"List jobs","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"query","name":"labelSelector","description":"Filter on job label (e.g. 'job_name=potions_cooking')","schema":{"type":"string"}},{"in":"query","name":"order","description":"Order the result set","schema":{"$ref":"#/components/schemas/cloud.project.ai.OrderEnum"}},{"in":"query","name":"page","description":"Page of the result set","schema":{"type":"integer"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"query","name":"size","description":"Size of the result set","schema":{"type":"integer"}},{"in":"query","name":"sort","description":"Sort the result with this field","schema":{"type":"string"}},{"in":"query","name":"statusState","description":"Filter on status state","schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.ai.job.JobStateEnum"}}},{"in":"query","name":"updatedAfter","description":"Filter on updatedAt property (>)","schema":{"type":"string","format":"date-time"}},{"in":"query","name":"updatedBefore","description":"Filter on updatedAt property (<)","schema":{"type":"string","format":"date-time"}},{"in":"query","name":"userName","description":"User that submit the job","schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.ai.job.Job"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/job\")\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(\"/cloud/project/{serviceName}/ai/job\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/job/get","required":true}],"x-response-identifier":"id","x-expanded-response":"CloudProjectAiJobJob"},"post":{"summary":"Create a new job","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.job.JobSpecInput"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.job.Job"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.ai.job.JobSpecInput\nresult = client.post(\"/cloud/project/{serviceName}/ai/job\",\n\tcommand = None, # Job command (type: array, nullable)\n\tdefaultHttpPort = None, # Port use as the default one to access http service inside job (type: integer, nullable)\n\tenvVars = None, # List of environment variable to be set inside job (type: array, nullable)\n\tgrpcPort = None, # GRPC Port that we want to expose in case workload HTTP & gRPC servers cannot be multiplexed to listen on the same port (type: integer, nullable)\n\timage = None, # Job image (type: string)\n\tlabels = None, # Labels are used to scope tokens, labels prefixed by 'ovh/' are owned by the platform and overridden (type: object, nullable)\n\tname = None, # Job name (type: string)\n\tpartnerId = None, # Partner ID (type: string, nullable)\n\treadUser = None, # User ID to use to access the job (type: string, nullable)\n\tregion = None, # Host region of the job (type: string)\n\tresources = None, # Job resources (type: cloud.project.ai.ResourcesInput)\n\tsshPublicKeys = None, # SSH keys authorized to access to the job container (type: array, nullable)\n\ttimeout = None, # Maximum time to spend before killing the job (type: integer, nullable)\n\ttimeoutAutoRestart = None, # Whether job is set to be restarted after timeout (type: boolean, nullable)\n\tunsecureHttp = None, # Whether job api port can be accessed without any authentication token (type: boolean, nullable)\n\tvolumes = None, # Job Data linked (type: array, nullable)\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: cloud.project.ai.job.JobSpecInput\n$result = $ovh->post(\"/cloud/project/{serviceName}/ai/job\", array(\n\tcommand => null, // Job command (type: array, nullable)\n\tdefaultHttpPort => null, // Port use as the default one to access http service inside job (type: integer, nullable)\n\tenvVars => null, // List of environment variable to be set inside job (type: array, nullable)\n\tgrpcPort => null, // GRPC Port that we want to expose in case workload HTTP & gRPC servers cannot be multiplexed to listen on the same port (type: integer, nullable)\n\timage => null, // Job image (type: string)\n\tlabels => null, // Labels are used to scope tokens, labels prefixed by 'ovh/' are owned by the platform and overridden (type: object, nullable)\n\tname => null, // Job name (type: string)\n\tpartnerId => null, // Partner ID (type: string, nullable)\n\treadUser => null, // User ID to use to access the job (type: string, nullable)\n\tregion => null, // Host region of the job (type: string)\n\tresources => null, // Job resources (type: cloud.project.ai.ResourcesInput)\n\tsshPublicKeys => null, // SSH keys authorized to access to the job container (type: array, nullable)\n\ttimeout => null, // Maximum time to spend before killing the job (type: integer, nullable)\n\ttimeoutAutoRestart => null, // Whether job is set to be restarted after timeout (type: boolean, nullable)\n\tunsecureHttp => null, // Whether job api port can be accessed without any authentication token (type: boolean, nullable)\n\tvolumes => null, // Job Data linked (type: array, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/job/create","required":true}]}},"/cloud/project/{serviceName}/ai/job/capabilities/presetImage":{"get":{"summary":"List AI Solutions Preset Model Images (deprecated)","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.ai.job.PresetImage"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/job/capabilities/presetImage\")\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(\"/cloud/project/{serviceName}/ai/job/capabilities/presetImage\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/job/capabilities/presetImage/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/ai/job/command":{"post":{"summary":"Generate a job spec corresponding CLI command","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.job.JobSpecInput"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.Command"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.ai.job.JobSpecInput\nresult = client.post(\"/cloud/project/{serviceName}/ai/job/command\",\n\tcommand = None, # Job command (type: array, nullable)\n\tdefaultHttpPort = None, # Port use as the default one to access http service inside job (type: integer, nullable)\n\tenvVars = None, # List of environment variable to be set inside job (type: array, nullable)\n\tgrpcPort = None, # GRPC Port that we want to expose in case workload HTTP & gRPC servers cannot be multiplexed to listen on the same port (type: integer, nullable)\n\timage = None, # Job image (type: string)\n\tlabels = None, # Labels are used to scope tokens, labels prefixed by 'ovh/' are owned by the platform and overridden (type: object, nullable)\n\tname = None, # Job name (type: string)\n\tpartnerId = None, # Partner ID (type: string, nullable)\n\treadUser = None, # User ID to use to access the job (type: string, nullable)\n\tregion = None, # Host region of the job (type: string)\n\tresources = None, # Job resources (type: cloud.project.ai.ResourcesInput)\n\tsshPublicKeys = None, # SSH keys authorized to access to the job container (type: array, nullable)\n\ttimeout = None, # Maximum time to spend before killing the job (type: integer, nullable)\n\ttimeoutAutoRestart = None, # Whether job is set to be restarted after timeout (type: boolean, nullable)\n\tunsecureHttp = None, # Whether job api port can be accessed without any authentication token (type: boolean, nullable)\n\tvolumes = None, # Job Data linked (type: array, nullable)\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: cloud.project.ai.job.JobSpecInput\n$result = $ovh->post(\"/cloud/project/{serviceName}/ai/job/command\", array(\n\tcommand => null, // Job command (type: array, nullable)\n\tdefaultHttpPort => null, // Port use as the default one to access http service inside job (type: integer, nullable)\n\tenvVars => null, // List of environment variable to be set inside job (type: array, nullable)\n\tgrpcPort => null, // GRPC Port that we want to expose in case workload HTTP & gRPC servers cannot be multiplexed to listen on the same port (type: integer, nullable)\n\timage => null, // Job image (type: string)\n\tlabels => null, // Labels are used to scope tokens, labels prefixed by 'ovh/' are owned by the platform and overridden (type: object, nullable)\n\tname => null, // Job name (type: string)\n\tpartnerId => null, // Partner ID (type: string, nullable)\n\treadUser => null, // User ID to use to access the job (type: string, nullable)\n\tregion => null, // Host region of the job (type: string)\n\tresources => null, // Job resources (type: cloud.project.ai.ResourcesInput)\n\tsshPublicKeys => null, // SSH keys authorized to access to the job container (type: array, nullable)\n\ttimeout => null, // Maximum time to spend before killing the job (type: integer, nullable)\n\ttimeoutAutoRestart => null, // Whether job is set to be restarted after timeout (type: boolean, nullable)\n\tunsecureHttp => null, // Whether job api port can be accessed without any authentication token (type: boolean, nullable)\n\tvolumes => null, // Job Data linked (type: array, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/job/command/get","required":true}]}},"/cloud/project/{serviceName}/ai/job/{jobId}":{"delete":{"summary":"Permanently delete a job","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"query","name":"force","description":"Force job deletion by killing it if at a running state","schema":{"type":"boolean"}},{"in":"path","name":"jobId","description":"Job ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/job/{jobId}\")\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(\"/cloud/project/{serviceName}/ai/job/{jobId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/job/delete","required":true}]},"get":{"summary":"Get job information","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"jobId","description":"Job ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.job.Job"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/job/{jobId}\")\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(\"/cloud/project/{serviceName}/ai/job/{jobId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/job/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/ai/job/{jobId}/datasync":{"post":{"summary":"Starts a manual data synchronization on an AI Solutions job","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"jobId","description":"Job ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.volume.DataSyncSpec"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.volume.DataSync"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.ai.volume.DataSyncSpec\nresult = client.post(\"/cloud/project/{serviceName}/ai/job/{jobId}/datasync\",\n\tdirection = None, # Direction of the sync (type: cloud.project.ai.volume.DataSyncEnum)\n\tvolume = None, # Only sync this volume (type: string, nullable)\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: cloud.project.ai.volume.DataSyncSpec\n$result = $ovh->post(\"/cloud/project/{serviceName}/ai/job/{jobId}/datasync\", array(\n\tdirection => null, // Direction of the sync (type: cloud.project.ai.volume.DataSyncEnum)\n\tvolume => null, // Only sync this volume (type: string, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/job/datasync/create","required":true}]}},"/cloud/project/{serviceName}/ai/job/{jobId}/kill":{"put":{"summary":"Kill a AI Solutions job","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"jobId","description":"Job ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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.put(\"/cloud/project/{serviceName}/ai/job/{jobId}/kill\")\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->put(\"/cloud/project/{serviceName}/ai/job/{jobId}/kill\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/job/kill","required":true}]}},"/cloud/project/{serviceName}/ai/job/{jobId}/label":{"put":{"summary":"Update/add an AI Solutions job label","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"jobId","description":"Job ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.Label"}}}},"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.ai.Label\nresult = client.put(\"/cloud/project/{serviceName}/ai/job/{jobId}/label\",\n\tname = None, # Name of the label to update/add (type: string)\n\tvalue = None, # Value of the label to update/add, is there is no value the label is deleted (type: string, nullable)\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: cloud.project.ai.Label\n$result = $ovh->put(\"/cloud/project/{serviceName}/ai/job/{jobId}/label\", array(\n\tname => null, // Name of the label to update/add (type: string)\n\tvalue => null, // Value of the label to update/add, is there is no value the label is deleted (type: string, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/job/label/edit","required":true}]}},"/cloud/project/{serviceName}/ai/job/{jobId}/log":{"get":{"summary":"Get the logs of a job","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"jobId","description":"Job ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"query","name":"page","description":"Page of the result set","schema":{"type":"integer"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"query","name":"size","description":"Size of the result set","schema":{"type":"integer"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.Logs"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/job/{jobId}/log\")\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(\"/cloud/project/{serviceName}/ai/job/{jobId}/log\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/job/log/get","required":true}]}},"/cloud/project/{serviceName}/ai/job/{jobId}/log/kind":{"get":{"summary":"List available log kinds","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"jobId","description":"Job ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/job/{jobId}/log/kind\")\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(\"/cloud/project/{serviceName}/ai/job/{jobId}/log/kind\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/joblog/kind/get","required":true}],"x-expanded-response":"DbaasLogsLogKind"}},"/cloud/project/{serviceName}/ai/job/{jobId}/log/kind/{name}":{"get":{"summary":"Get a log kind","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"jobId","description":"Job ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"name","description":"Name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogKind"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/job/{jobId}/log/kind/{name}\")\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(\"/cloud/project/{serviceName}/ai/job/{jobId}/log/kind/{name}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/joblog/kind/get","required":true}],"x-response-identifier":"name"}},"/cloud/project/{serviceName}/ai/job/{jobId}/log/subscription":{"get":{"summary":"List log subscription IDs for a cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"jobId","description":"Job ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"query","name":"kind","description":"Filter on a specific kind (e.g., audit)","schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/job/{jobId}/log/subscription\")\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(\"/cloud/project/{serviceName}/ai/job/{jobId}/log/subscription\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/joblog/subscription/get","required":true}],"x-expanded-response":"DbaasLogsLogSubscription"},"post":{"summary":"Create a subscription from Public Cloud AI Job logs to a pre-existing LDP stream","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"jobId","description":"Job ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscriptionCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscriptionResponse"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: dbaas.logs.LogSubscriptionCreation\nresult = client.post(\"/cloud/project/{serviceName}/ai/job/{jobId}/log/subscription\",\n\tkind = None, # Log kind name to subscribe to (type: string)\n\tstreamId = None, # Customer log stream ID (type: string)\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: dbaas.logs.LogSubscriptionCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/ai/job/{jobId}/log/subscription\", array(\n\tkind => null, // Log kind name to subscribe to (type: string)\n\tstreamId => null, // Customer log stream ID (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/joblog/subscription/create","required":true},{"name":"ldp:apiovh:output/graylog/stream/forwardTo","description":"Required on the targeted LDP service","required":true}]}},"/cloud/project/{serviceName}/ai/job/{jobId}/log/subscription/{subscriptionId}":{"delete":{"summary":"Delete a log subscription","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"jobId","description":"Job ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"subscriptionId","description":"Subscription ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscriptionResponse"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/job/{jobId}/log/subscription/{subscriptionId}\")\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(\"/cloud/project/{serviceName}/ai/job/{jobId}/log/subscription/{subscriptionId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/joblog/subscription/delete","required":true}]},"get":{"summary":"Get log subscription details","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"jobId","description":"Job ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"subscriptionId","description":"Subscription ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscription"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/job/{jobId}/log/subscription/{subscriptionId}\")\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(\"/cloud/project/{serviceName}/ai/job/{jobId}/log/subscription/{subscriptionId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/joblog/subscription/get","required":true}],"x-response-identifier":"subscriptionId"}},"/cloud/project/{serviceName}/ai/job/{jobId}/log/url":{"post":{"summary":"Generate a temporary URL to retrieve logs","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"jobId","description":"Job ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogUrlCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.TemporaryLogsLink"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: dbaas.logs.LogUrlCreation\nresult = client.post(\"/cloud/project/{serviceName}/ai/job/{jobId}/log/url\",\n\tkind = None, # Log kind name (type: string)\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: dbaas.logs.LogUrlCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/ai/job/{jobId}/log/url\", array(\n\tkind => null, // Log kind name (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/joblog/url/create","required":true}]}},"/cloud/project/{serviceName}/ai/notebook":{"get":{"summary":"List notebooks","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"query","name":"labelSelector","description":"Filter on notebook label (e.g. 'notebook_name=spell_book')","schema":{"type":"string"}},{"in":"query","name":"order","description":"Order the result set","schema":{"$ref":"#/components/schemas/cloud.project.ai.OrderEnum"}},{"in":"query","name":"page","description":"Page of the result set","schema":{"type":"integer"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"query","name":"size","description":"Size of the result set","schema":{"type":"integer"}},{"in":"query","name":"sort","description":"Sort the result with this field","schema":{"type":"string"}},{"in":"query","name":"statusState","description":"Filter on status state","schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.ai.notebook.NotebookStateEnum"}}},{"in":"query","name":"updatedAfter","description":"Filter on updatedAt property (>)","schema":{"type":"string","format":"date-time"}},{"in":"query","name":"updatedBefore","description":"Filter on updatedAt property (<)","schema":{"type":"string","format":"date-time"}},{"in":"query","name":"userName","description":"User that submit the job","schema":{"type":"string"}},{"in":"query","name":"withSpark","description":"Whether or not to include spark notebooks in search results","schema":{"type":"boolean"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.ai.notebook.Notebook"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/notebook\")\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(\"/cloud/project/{serviceName}/ai/notebook\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/notebook/get","required":true}],"x-response-identifier":"id","x-expanded-response":"CloudProjectAiNotebookNotebook"},"post":{"summary":"Create a new notebook","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.notebook.NotebookSpecInput"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.notebook.Notebook"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.ai.notebook.NotebookSpecInput\nresult = client.post(\"/cloud/project/{serviceName}/ai/notebook\",\n\tenv = None, # Environment to deploy in this notebook (type: cloud.project.ai.notebook.NotebookEnv)\n\tenvVars = None, # List of environment variables to be set inside the notebook (type: array, nullable)\n\tlabels = None, # Labels are used to scope tokens, labels prefixed by 'ovh/' are owned by the platform and overridden (type: object, nullable)\n\tname = None, # Notebook name (type: string)\n\tquantumResources = None, # Quantum resources (type: cloud.project.quantum.QuantumResourcesInput, nullable)\n\tregion = None, # Host region of the notebook (type: string)\n\tresources = None, # Notebook resources (type: cloud.project.ai.ResourcesInput)\n\tsshPublicKeys = None, # SSH keys authorized to access the notebook (type: array, nullable)\n\ttimeoutAutoRestart = None, # Whether notebook is set to be restarted after timeout (type: boolean, nullable)\n\tunsecureHttp = None, # Whether notebook api port can be accessed without any authentication token (type: boolean, nullable)\n\tvolumes = None, # Notebook Data linked (type: array, nullable)\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: cloud.project.ai.notebook.NotebookSpecInput\n$result = $ovh->post(\"/cloud/project/{serviceName}/ai/notebook\", array(\n\tenv => null, // Environment to deploy in this notebook (type: cloud.project.ai.notebook.NotebookEnv)\n\tenvVars => null, // List of environment variables to be set inside the notebook (type: array, nullable)\n\tlabels => null, // Labels are used to scope tokens, labels prefixed by 'ovh/' are owned by the platform and overridden (type: object, nullable)\n\tname => null, // Notebook name (type: string)\n\tquantumResources => null, // Quantum resources (type: cloud.project.quantum.QuantumResourcesInput, nullable)\n\tregion => null, // Host region of the notebook (type: string)\n\tresources => null, // Notebook resources (type: cloud.project.ai.ResourcesInput)\n\tsshPublicKeys => null, // SSH keys authorized to access the notebook (type: array, nullable)\n\ttimeoutAutoRestart => null, // Whether notebook is set to be restarted after timeout (type: boolean, nullable)\n\tunsecureHttp => null, // Whether notebook api port can be accessed without any authentication token (type: boolean, nullable)\n\tvolumes => null, // Notebook Data linked (type: array, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/notebook/create","required":true}]}},"/cloud/project/{serviceName}/ai/notebook/capabilities/editor":{"get":{"summary":"List AI Solutions Notebook available code editors","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"query","name":"compatibleWithFramework","description":"Only list editors compatible with this framework","schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.ai.notebook.Editor"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/notebook/capabilities/editor\")\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(\"/cloud/project/{serviceName}/ai/notebook/capabilities/editor\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/notebook/capabilities/editor/get","required":true}]}},"/cloud/project/{serviceName}/ai/notebook/capabilities/framework":{"get":{"summary":"List AI Solutions Notebook available frameworks","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"query","name":"compatibleWithEditor","description":"Only list frameworks compatible with this editor","schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"query","name":"type","description":"Only list frameworks of this type","schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.ai.notebook.Framework"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/notebook/capabilities/framework\")\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(\"/cloud/project/{serviceName}/ai/notebook/capabilities/framework\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/notebook/capabilities/framework/get","required":true}]}},"/cloud/project/{serviceName}/ai/notebook/command":{"post":{"summary":"Generate a notebook spec corresponding CLI command","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.notebook.NotebookSpecInput"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.Command"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.ai.notebook.NotebookSpecInput\nresult = client.post(\"/cloud/project/{serviceName}/ai/notebook/command\",\n\tenv = None, # Environment to deploy in this notebook (type: cloud.project.ai.notebook.NotebookEnv)\n\tenvVars = None, # List of environment variables to be set inside the notebook (type: array, nullable)\n\tlabels = None, # Labels are used to scope tokens, labels prefixed by 'ovh/' are owned by the platform and overridden (type: object, nullable)\n\tname = None, # Notebook name (type: string)\n\tquantumResources = None, # Quantum resources (type: cloud.project.quantum.QuantumResourcesInput, nullable)\n\tregion = None, # Host region of the notebook (type: string)\n\tresources = None, # Notebook resources (type: cloud.project.ai.ResourcesInput)\n\tsshPublicKeys = None, # SSH keys authorized to access the notebook (type: array, nullable)\n\ttimeoutAutoRestart = None, # Whether notebook is set to be restarted after timeout (type: boolean, nullable)\n\tunsecureHttp = None, # Whether notebook api port can be accessed without any authentication token (type: boolean, nullable)\n\tvolumes = None, # Notebook Data linked (type: array, nullable)\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: cloud.project.ai.notebook.NotebookSpecInput\n$result = $ovh->post(\"/cloud/project/{serviceName}/ai/notebook/command\", array(\n\tenv => null, // Environment to deploy in this notebook (type: cloud.project.ai.notebook.NotebookEnv)\n\tenvVars => null, // List of environment variables to be set inside the notebook (type: array, nullable)\n\tlabels => null, // Labels are used to scope tokens, labels prefixed by 'ovh/' are owned by the platform and overridden (type: object, nullable)\n\tname => null, // Notebook name (type: string)\n\tquantumResources => null, // Quantum resources (type: cloud.project.quantum.QuantumResourcesInput, nullable)\n\tregion => null, // Host region of the notebook (type: string)\n\tresources => null, // Notebook resources (type: cloud.project.ai.ResourcesInput)\n\tsshPublicKeys => null, // SSH keys authorized to access the notebook (type: array, nullable)\n\ttimeoutAutoRestart => null, // Whether notebook is set to be restarted after timeout (type: boolean, nullable)\n\tunsecureHttp => null, // Whether notebook api port can be accessed without any authentication token (type: boolean, nullable)\n\tvolumes => null, // Notebook Data linked (type: array, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/notebook/command/get","required":true}]}},"/cloud/project/{serviceName}/ai/notebook/{notebookId}":{"delete":{"summary":"Delete a notebook","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"query","name":"force","description":"Force notebook deletion by killing it if at a running state","schema":{"type":"boolean"}},{"in":"path","name":"notebookId","description":"Notebook ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/notebook/{notebookId}\")\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(\"/cloud/project/{serviceName}/ai/notebook/{notebookId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/notebook/delete","required":true}]},"get":{"summary":"Get notebook information","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"notebookId","description":"Notebook ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.notebook.Notebook"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/notebook/{notebookId}\")\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(\"/cloud/project/{serviceName}/ai/notebook/{notebookId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/notebook/get","required":true}],"x-response-identifier":"id"},"put":{"summary":"Update an existing notebook. Only labels update can be done while notebook is running.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"notebookId","description":"Notebook ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.notebook.NotebookUpdate"}}}},"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.ai.notebook.NotebookUpdate\nresult = client.put(\"/cloud/project/{serviceName}/ai/notebook/{notebookId}\",\n\tframeworkVersion = None, # Framework version (type: string, nullable)\n\tlabels = None, # Labels for the notebook (type: object, nullable)\n\tname = None, # Notebook name (type: string, nullable)\n\tquantumResources = None, # Quantum resources (type: cloud.project.quantum.QuantumResourcesInput, nullable)\n\tresources = None, # Notebook resources (type: cloud.project.ai.ResourcesInput, nullable)\n\tsshPublicKeys = None, # SSH keys authorized to access the notebook (type: array, nullable)\n\ttimeoutAutoRestart = None, # Whether notebook is set to be restarted after timeout (type: boolean, nullable)\n\tunsecureHttp = None, # Whether notebook api port can be accessed without any authentication token (type: boolean, nullable)\n\tvolumes = None, # Notebook Data linked (type: array, nullable)\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: cloud.project.ai.notebook.NotebookUpdate\n$result = $ovh->put(\"/cloud/project/{serviceName}/ai/notebook/{notebookId}\", array(\n\tframeworkVersion => null, // Framework version (type: string, nullable)\n\tlabels => null, // Labels for the notebook (type: object, nullable)\n\tname => null, // Notebook name (type: string, nullable)\n\tquantumResources => null, // Quantum resources (type: cloud.project.quantum.QuantumResourcesInput, nullable)\n\tresources => null, // Notebook resources (type: cloud.project.ai.ResourcesInput, nullable)\n\tsshPublicKeys => null, // SSH keys authorized to access the notebook (type: array, nullable)\n\ttimeoutAutoRestart => null, // Whether notebook is set to be restarted after timeout (type: boolean, nullable)\n\tunsecureHttp => null, // Whether notebook api port can be accessed without any authentication token (type: boolean, nullable)\n\tvolumes => null, // Notebook Data linked (type: array, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/notebook/edit","required":true}]}},"/cloud/project/{serviceName}/ai/notebook/{notebookId}/backup":{"get":{"summary":"List all backups of an AI Solutions notebook","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"notebookId","description":"Notebook ID","required":true,"schema":{"type":"string"}},{"in":"query","name":"order","description":"Order the result set","schema":{"$ref":"#/components/schemas/cloud.project.ai.OrderEnum"}},{"in":"query","name":"page","description":"Page of the result set","schema":{"type":"integer"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"query","name":"size","description":"Size of the result set","schema":{"type":"integer"}},{"in":"query","name":"sort","description":"Sort the result with this field","schema":{"type":"string"}},{"in":"query","name":"updatedAfter","description":"Filter on updatedAt property (>)","schema":{"type":"string","format":"date-time"}},{"in":"query","name":"updatedBefore","description":"Filter on updatedAt property (<)","schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.ai.notebook.Backup"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/notebook/{notebookId}/backup\")\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(\"/cloud/project/{serviceName}/ai/notebook/{notebookId}/backup\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/notebook/backup/get","required":true}],"x-response-identifier":"id","x-expanded-response":"CloudProjectAiNotebookBackup"}},"/cloud/project/{serviceName}/ai/notebook/{notebookId}/backup/{backupId}":{"get":{"summary":"Get details for a single AI Solutions notebook backup","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"backupId","description":"Backup ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"notebookId","description":"Notebook ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.notebook.Backup"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/notebook/{notebookId}/backup/{backupId}\")\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(\"/cloud/project/{serviceName}/ai/notebook/{notebookId}/backup/{backupId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/notebook/backup/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/ai/notebook/{notebookId}/backup/{backupId}/fork":{"post":{"summary":"Starts a new AI Solutions notebook from a backup","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"backupId","description":"Backup ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"notebookId","description":"Notebook ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.notebook.NotebookForkInfo"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.notebook.Notebook"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.ai.notebook.NotebookForkInfo\nresult = client.post(\"/cloud/project/{serviceName}/ai/notebook/{notebookId}/backup/{backupId}/fork\",\n\tname = None, # Forked notebook name (type: string, nullable)\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: cloud.project.ai.notebook.NotebookForkInfo\n$result = $ovh->post(\"/cloud/project/{serviceName}/ai/notebook/{notebookId}/backup/{backupId}/fork\", array(\n\tname => null, // Forked notebook name (type: string, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/notebook/backup/fork","required":true}]}},"/cloud/project/{serviceName}/ai/notebook/{notebookId}/datasync":{"post":{"summary":"Starts a manual data synchronization on an AI Solutions notebook","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"notebookId","description":"Notebook ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.volume.DataSyncSpec"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.volume.DataSync"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.ai.volume.DataSyncSpec\nresult = client.post(\"/cloud/project/{serviceName}/ai/notebook/{notebookId}/datasync\",\n\tdirection = None, # Direction of the sync (type: cloud.project.ai.volume.DataSyncEnum)\n\tvolume = None, # Only sync this volume (type: string, nullable)\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: cloud.project.ai.volume.DataSyncSpec\n$result = $ovh->post(\"/cloud/project/{serviceName}/ai/notebook/{notebookId}/datasync\", array(\n\tdirection => null, // Direction of the sync (type: cloud.project.ai.volume.DataSyncEnum)\n\tvolume => null, // Only sync this volume (type: string, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/notebook/datasync/create","required":true}]}},"/cloud/project/{serviceName}/ai/notebook/{notebookId}/label":{"put":{"summary":"Update/add an AI Solutions notebook label","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"notebookId","description":"Notebook ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.Label"}}}},"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.ai.Label\nresult = client.put(\"/cloud/project/{serviceName}/ai/notebook/{notebookId}/label\",\n\tname = None, # Name of the label to update/add (type: string)\n\tvalue = None, # Value of the label to update/add, is there is no value the label is deleted (type: string, nullable)\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: cloud.project.ai.Label\n$result = $ovh->put(\"/cloud/project/{serviceName}/ai/notebook/{notebookId}/label\", array(\n\tname => null, // Name of the label to update/add (type: string)\n\tvalue => null, // Value of the label to update/add, is there is no value the label is deleted (type: string, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/notebook/label/edit","required":true}]}},"/cloud/project/{serviceName}/ai/notebook/{notebookId}/log":{"get":{"summary":"Get the logs of a notebook","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"notebookId","description":"Notebook ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.Logs"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/notebook/{notebookId}/log\")\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(\"/cloud/project/{serviceName}/ai/notebook/{notebookId}/log\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/notebook/log/get","required":true}]}},"/cloud/project/{serviceName}/ai/notebook/{notebookId}/log/kind":{"get":{"summary":"List available log kinds","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"notebookId","description":"Notebook ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/notebook/{notebookId}/log/kind\")\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(\"/cloud/project/{serviceName}/ai/notebook/{notebookId}/log/kind\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/notebooklog/kind/get","required":true}],"x-expanded-response":"DbaasLogsLogKind"}},"/cloud/project/{serviceName}/ai/notebook/{notebookId}/log/kind/{name}":{"get":{"summary":"Get a log kind","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"name","description":"Name","required":true,"schema":{"type":"string"}},{"in":"path","name":"notebookId","description":"Notebook ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogKind"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/notebook/{notebookId}/log/kind/{name}\")\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(\"/cloud/project/{serviceName}/ai/notebook/{notebookId}/log/kind/{name}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/notebooklog/kind/get","required":true}],"x-response-identifier":"name"}},"/cloud/project/{serviceName}/ai/notebook/{notebookId}/log/subscription":{"get":{"summary":"List log subscription IDs for a cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"query","name":"kind","description":"Filter on a specific kind (e.g., audit)","schema":{"type":"string"}},{"in":"path","name":"notebookId","description":"Notebook ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/notebook/{notebookId}/log/subscription\")\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(\"/cloud/project/{serviceName}/ai/notebook/{notebookId}/log/subscription\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/notebooklog/subscription/get","required":true}],"x-expanded-response":"DbaasLogsLogSubscription"},"post":{"summary":"Create a subscription from Public Cloud AI Notebook logs to a pre-existing LDP stream","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"notebookId","description":"Notebook ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscriptionCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscriptionResponse"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: dbaas.logs.LogSubscriptionCreation\nresult = client.post(\"/cloud/project/{serviceName}/ai/notebook/{notebookId}/log/subscription\",\n\tkind = None, # Log kind name to subscribe to (type: string)\n\tstreamId = None, # Customer log stream ID (type: string)\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: dbaas.logs.LogSubscriptionCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/ai/notebook/{notebookId}/log/subscription\", array(\n\tkind => null, // Log kind name to subscribe to (type: string)\n\tstreamId => null, // Customer log stream ID (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/notebooklog/subscription/create","required":true},{"name":"ldp:apiovh:output/graylog/stream/forwardTo","description":"Required on the targeted LDP service","required":true}]}},"/cloud/project/{serviceName}/ai/notebook/{notebookId}/log/subscription/{subscriptionId}":{"delete":{"summary":"Delete a log subscription","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"notebookId","description":"Notebook ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"subscriptionId","description":"Subscription ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscriptionResponse"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/notebook/{notebookId}/log/subscription/{subscriptionId}\")\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(\"/cloud/project/{serviceName}/ai/notebook/{notebookId}/log/subscription/{subscriptionId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/notebooklog/subscription/delete","required":true}]},"get":{"summary":"Get log subscription details","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"notebookId","description":"Notebook ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"subscriptionId","description":"Subscription ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscription"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/notebook/{notebookId}/log/subscription/{subscriptionId}\")\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(\"/cloud/project/{serviceName}/ai/notebook/{notebookId}/log/subscription/{subscriptionId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/notebooklog/subscription/get","required":true}],"x-response-identifier":"subscriptionId"}},"/cloud/project/{serviceName}/ai/notebook/{notebookId}/log/url":{"post":{"summary":"Generate a temporary URL to retrieve logs","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"notebookId","description":"Notebook ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogUrlCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.TemporaryLogsLink"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: dbaas.logs.LogUrlCreation\nresult = client.post(\"/cloud/project/{serviceName}/ai/notebook/{notebookId}/log/url\",\n\tkind = None, # Log kind name (type: string)\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: dbaas.logs.LogUrlCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/ai/notebook/{notebookId}/log/url\", array(\n\tkind => null, // Log kind name (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/notebooklog/url/create","required":true}]}},"/cloud/project/{serviceName}/ai/notebook/{notebookId}/restart":{"put":{"summary":"Restart an AI Solutions notebook","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"notebookId","description":"Notebook ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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.put(\"/cloud/project/{serviceName}/ai/notebook/{notebookId}/restart\")\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->put(\"/cloud/project/{serviceName}/ai/notebook/{notebookId}/restart\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/notebook/restart","required":true}]}},"/cloud/project/{serviceName}/ai/notebook/{notebookId}/start":{"put":{"summary":"Start an AI Solutions notebook","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"notebookId","description":"Notebook ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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.put(\"/cloud/project/{serviceName}/ai/notebook/{notebookId}/start\")\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->put(\"/cloud/project/{serviceName}/ai/notebook/{notebookId}/start\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/notebook/start","required":true}]}},"/cloud/project/{serviceName}/ai/notebook/{notebookId}/stop":{"put":{"summary":"Stop an AI Solutions notebook","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"notebookId","description":"Notebook ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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.put(\"/cloud/project/{serviceName}/ai/notebook/{notebookId}/stop\")\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->put(\"/cloud/project/{serviceName}/ai/notebook/{notebookId}/stop\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/notebook/stop","required":true}]}},"/cloud/project/{serviceName}/ai/notebook/{notebookId}/workspacebackupretentionpolicy":{"get":{"summary":"Get the applied notebook backup retention policy for the given notebook","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"notebookId","description":"Notebook ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.notebook.NotebookWorkspaceBackupRetentionPolicy"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/notebook/{notebookId}/workspacebackupretentionpolicy\")\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(\"/cloud/project/{serviceName}/ai/notebook/{notebookId}/workspacebackupretentionpolicy\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/notebook/workspaceBackupRetentionPolicy/get","required":true}]},"put":{"summary":"Override notebook backup retention policy for the given notebook","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"notebookId","description":"Notebook ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.notebook.NotebookWorkspaceBackupRetentionPolicyInput"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.notebook.NotebookWorkspaceBackupRetentionPolicy"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.ai.notebook.NotebookWorkspaceBackupRetentionPolicyInput\nresult = client.put(\"/cloud/project/{serviceName}/ai/notebook/{notebookId}/workspacebackupretentionpolicy\",\n\tlifetimeEvictionThreshold = None, # Position in the backup history from which the lifetime-based eviction can be applied to a workspace backup (type: integer, nullable)\n\tlifetimeInDays = None, # Maximum number of retention days for a given notebook's workspace backups which is at or after lifetime_eviction_threshold index in history (type: integer, nullable)\n\tretainedNumber = None, # The number of retained workspace backups for a given notebook (type: integer, nullable)\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: cloud.project.ai.notebook.NotebookWorkspaceBackupRetentionPolicyInput\n$result = $ovh->put(\"/cloud/project/{serviceName}/ai/notebook/{notebookId}/workspacebackupretentionpolicy\", array(\n\tlifetimeEvictionThreshold => null, // Position in the backup history from which the lifetime-based eviction can be applied to a workspace backup (type: integer, nullable)\n\tlifetimeInDays => null, // Maximum number of retention days for a given notebook's workspace backups which is at or after lifetime_eviction_threshold index in history (type: integer, nullable)\n\tretainedNumber => null, // The number of retained workspace backups for a given notebook (type: integer, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/notebook/workspaceBackupRetentionPolicy/edit","required":true}]}},"/cloud/project/{serviceName}/ai/partners/region":{"get":{"summary":"List Region","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.ai.capabilities.Region"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/partners/region\")\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(\"/cloud/project/{serviceName}/ai/partners/region\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/partners/region/get","required":true}],"x-response-identifier":"id","x-expanded-response":"CloudProjectAiCapabilitiesRegion"}},"/cloud/project/{serviceName}/ai/partners/region/{region}":{"get":{"summary":"Get Region Information","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"region","description":"Region","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.capabilities.Region"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/partners/region/{region}\")\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(\"/cloud/project/{serviceName}/ai/partners/region/{region}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/partners/region/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/ai/partners/region/{region}/partner":{"get":{"summary":"List partners and contracts","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"region","description":"Region","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.ai.partner.Partner"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/partners/region/{region}/partner\")\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(\"/cloud/project/{serviceName}/ai/partners/region/{region}/partner\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/partners/region/partner/get","required":true}],"x-response-identifier":"id","x-expanded-response":"CloudProjectAiPartnerPartner"}},"/cloud/project/{serviceName}/ai/partners/region/{region}/partner/{partnerId}":{"get":{"summary":"Get partner and contract","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"partnerId","description":"Partner ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"region","description":"Region","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.partner.Partner"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/partners/region/{region}/partner/{partnerId}\")\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(\"/cloud/project/{serviceName}/ai/partners/region/{region}/partner/{partnerId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/partners/region/partner/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/ai/registry":{"get":{"summary":"List Docker registries","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.ai.registry.Registry"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/registry\")\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(\"/cloud/project/{serviceName}/ai/registry\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/registry/get","required":true}],"x-response-identifier":"id","x-expanded-response":"CloudProjectAiRegistryRegistry"},"post":{"summary":"Create a Docker registry","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.registry.Registry"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.registry.Registry"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.ai.registry.Registry\nresult = client.post(\"/cloud/project/{serviceName}/ai/registry\",\n\tpassword = None, # Docker registry password (type: string, nullable)\n\tregion = None, # Region where the registry is available (type: string)\n\turl = None, # Docker registry URL (type: string, nullable)\n\tusername = None, # Docker registry username (type: string, nullable)\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: cloud.project.ai.registry.Registry\n$result = $ovh->post(\"/cloud/project/{serviceName}/ai/registry\", array(\n\tpassword => null, // Docker registry password (type: string, nullable)\n\tregion => null, // Region where the registry is available (type: string)\n\turl => null, // Docker registry URL (type: string, nullable)\n\tusername => null, // Docker registry username (type: string, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/registry/create","required":true}]}},"/cloud/project/{serviceName}/ai/registry/{registryId}":{"delete":{"summary":"Delete a Docker registry","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"registryId","description":"Registry ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/registry/{registryId}\")\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(\"/cloud/project/{serviceName}/ai/registry/{registryId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/registry/delete","required":true}]},"get":{"summary":"Get information about a Docker registry","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"registryId","description":"Registry ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.registry.Registry"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/registry/{registryId}\")\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(\"/cloud/project/{serviceName}/ai/registry/{registryId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/registry/get","required":true}],"x-response-identifier":"id"},"put":{"summary":"Update a Docker registry","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"registryId","description":"Registry ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.registry.RegistryUpdateInput"}}}},"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.ai.registry.RegistryUpdateInput\nresult = client.put(\"/cloud/project/{serviceName}/ai/registry/{registryId}\",\n\tpassword = None, # Docker registry password (type: string, nullable)\n\turl = None, # Docker registry URL (type: string, nullable)\n\tusername = None, # Docker registry username (type: string, nullable)\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: cloud.project.ai.registry.RegistryUpdateInput\n$result = $ovh->put(\"/cloud/project/{serviceName}/ai/registry/{registryId}\", array(\n\tpassword => null, // Docker registry password (type: string, nullable)\n\turl => null, // Docker registry URL (type: string, nullable)\n\tusername => null, // Docker registry username (type: string, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/registry/edit","required":true}]}},"/cloud/project/{serviceName}/ai/token":{"get":{"summary":"List application tokens","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.ai.token.Token"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/token\")\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(\"/cloud/project/{serviceName}/ai/token\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/token/get","required":true}],"x-response-identifier":"id","x-expanded-response":"CloudProjectAiTokenToken"},"post":{"summary":"Create a new application token","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.token.TokenSpec"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.token.Token"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.ai.token.TokenSpec\nresult = client.post(\"/cloud/project/{serviceName}/ai/token\",\n\tlabelSelector = None, # Application token label selector (type: string, nullable)\n\tname = None, # Application token name (type: string)\n\tregion = None, # Public Cloud Storage Region (type: string)\n\trole = None, # Role granted by this application token (type: cloud.project.ai.TokenRoleEnum)\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: cloud.project.ai.token.TokenSpec\n$result = $ovh->post(\"/cloud/project/{serviceName}/ai/token\", array(\n\tlabelSelector => null, // Application token label selector (type: string, nullable)\n\tname => null, // Application token name (type: string)\n\tregion => null, // Public Cloud Storage Region (type: string)\n\trole => null, // Role granted by this application token (type: cloud.project.ai.TokenRoleEnum)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/token/create","required":true}]}},"/cloud/project/{serviceName}/ai/token/{id}":{"delete":{"summary":"Delete this application token","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"id","description":"Id","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/token/{id}\")\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(\"/cloud/project/{serviceName}/ai/token/{id}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/token/delete","required":true}]},"get":{"summary":"Get application token information","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"id","description":"Id","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.token.Token"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ai/token/{id}\")\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(\"/cloud/project/{serviceName}/ai/token/{id}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/token/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/ai/token/{id}/renew":{"post":{"summary":"Renew an application token","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"id","description":"Id","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.ai.token.Token"}}}}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/ai/token/{id}/renew\")\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->post(\"/cloud/project/{serviceName}/ai/token/{id}/renew\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ai/token/renew","required":true}]}},"/cloud/project/{serviceName}/alerting":{"get":{"operationId":"getAlertingConfigurations","summary":"List billing alerts","description":"Returns the IDs of the billing alerts configured on the project.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}}},"x-developer-hub-navigation":[["Public Cloud","Project Management","Alerting@@@10"]],"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/alerting\")\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(\"/cloud/project/{serviceName}/alerting\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:alerting/get","required":true}],"x-expanded-response":"CloudAlertingAlerting"},"post":{"operationId":"addAlerting","summary":"Create a billing alert","description":"Creates a billing alert with a monthly threshold, for one service or for all services. Sends an email to the receivers when the monthly spend on the service exceeds the threshold. Use `emails`, as `email` is deprecated.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.alerting.Alerting"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.alerting.Alerting"}}}}},"x-developer-hub-navigation":[["Public Cloud","Project Management","Alerting@@@30"]],"x-badges":[{"color":"green","label":"Stable production 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: cloud.alerting.Alerting\nresult = client.post(\"/cloud/project/{serviceName}/alerting\",\n\tdelay = None, # Delay of the alert in seconds (type: integer)\n\temail = None, # Email. DEPRECATED: use emails (type: string)\n\temails = None, # Receiver of the alert (type: array)\n\tmonthlyThreshold = None, # Monthly threshold (type: integer)\n\tname = None, # Name of the alert (type: string)\n\tservice = None, # Service of the alert (type: cloud.alerting.ServiceEnum)\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: cloud.alerting.Alerting\n$result = $ovh->post(\"/cloud/project/{serviceName}/alerting\", array(\n\tdelay => null, // Delay of the alert in seconds (type: integer)\n\temail => null, // Email. DEPRECATED: use emails (type: string)\n\temails => null, // Receiver of the alert (type: array)\n\tmonthlyThreshold => null, // Monthly threshold (type: integer)\n\tname => null, // Name of the alert (type: string)\n\tservice => null, // Service of the alert (type: cloud.alerting.ServiceEnum)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:alerting/create","required":true}]}},"/cloud/project/{serviceName}/alerting/{id}":{"delete":{"operationId":"deleteAlerting","summary":"Delete a billing alert","description":"Deletes the billing alert configuration.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"id","description":"Id","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-developer-hub-navigation":[["Public Cloud","Project Management","Alerting@@@40"]],"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/alerting/{id}\")\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(\"/cloud/project/{serviceName}/alerting/{id}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:alerting/delete","required":true}]},"get":{"operationId":"getAlertingConfiguration","summary":"Get a billing alert","description":"Returns the configuration of the billing alert: threshold, service, receivers and status.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"id","description":"Id","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.alerting.Alerting"}}}}},"x-developer-hub-navigation":[["Public Cloud","Project Management","Alerting@@@20"]],"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/alerting/{id}\")\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(\"/cloud/project/{serviceName}/alerting/{id}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:alerting/get","required":true}],"x-response-identifier":"id"},"put":{"operationId":"updateAlerting","summary":"Update a billing alert","description":"Updates the threshold, service, receivers, delay or status of the billing alert. Use `emails`, as `email` is deprecated.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"id","description":"Id","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.alerting.AlertingUpdate"}}}},"responses":{"200":{"description":"successful operation"}},"x-developer-hub-navigation":[["Public Cloud","Project Management","Alerting@@@50"]],"x-badges":[{"color":"green","label":"Stable production 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: cloud.alerting.AlertingUpdate\nresult = client.put(\"/cloud/project/{serviceName}/alerting/{id}\",\n\tdelay = None, # Delay of the alert in seconds (type: integer)\n\temail = None, # Email. DEPRECATED: use emails (type: string)\n\temails = None, # Receiver of the alert (type: array)\n\tmonthlyThreshold = None, # Monthly threshold (type: integer)\n\tname = None, # Name of the alert (type: string)\n\tservice = None, # Service of the alert (type: cloud.alerting.ServiceEnum)\n\tstatus = None, # Status of the alert (type: cloud.alerting.StatusEnum)\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: cloud.alerting.AlertingUpdate\n$result = $ovh->put(\"/cloud/project/{serviceName}/alerting/{id}\", array(\n\tdelay => null, // Delay of the alert in seconds (type: integer)\n\temail => null, // Email. DEPRECATED: use emails (type: string)\n\temails => null, // Receiver of the alert (type: array)\n\tmonthlyThreshold => null, // Monthly threshold (type: integer)\n\tname => null, // Name of the alert (type: string)\n\tservice => null, // Service of the alert (type: cloud.alerting.ServiceEnum)\n\tstatus => null, // Status of the alert (type: cloud.alerting.StatusEnum)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:alerting/edit","required":true}]}},"/cloud/project/{serviceName}/alerting/{id}/alert":{"get":{"operationId":"getAlerts","summary":"List sent alerts","description":"Returns the IDs of the alerts already sent for this billing alert.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"id","description":"Id","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"integer"}}}}}},"x-developer-hub-navigation":[["Public Cloud","Project Management","Alerting@@@60"]],"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/alerting/{id}/alert\")\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(\"/cloud/project/{serviceName}/alerting/{id}/alert\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:alerting/alert/get","required":true}],"x-expanded-response":"CloudAlertingAlert"}},"/cloud/project/{serviceName}/alerting/{id}/alert/{alertId}":{"get":{"operationId":"getAlert","summary":"Get a sent alert","description":"Returns when the alert was sent and to which email addresses.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"alertId","description":"Alert ID","required":true,"schema":{"type":"integer"}},{"in":"path","name":"id","description":"Id","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.alerting.Alert"}}}}},"x-developer-hub-navigation":[["Public Cloud","Project Management","Alerting@@@70"]],"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/alerting/{id}/alert/{alertId}\")\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(\"/cloud/project/{serviceName}/alerting/{id}/alert/{alertId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:alerting/alert/get","required":true}],"x-response-identifier":"alertId"}},"/cloud/project/{serviceName}/bill":{"get":{"summary":"List project bills. Returns the bills of the project between the `from` and `to` dates.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"query","name":"from","description":"Get bills from","required":true,"schema":{"type":"string","format":"date-time"}},{"in":"path","name":"serviceName","description":"The project id","required":true,"schema":{"type":"string"}},{"in":"query","name":"to","description":"Get bills to","required":true,"schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.Bill"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/bill\")\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(\"/cloud/project/{serviceName}/bill\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:bill/get","required":true}]}},"/cloud/project/{serviceName}/cancel":{"post":{"summary":"Cancel project creation","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"The project id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/cancel\")\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->post(\"/cloud/project/{serviceName}/cancel\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:cancel","required":true}]}},"/cloud/project/{serviceName}/capabilities/containerRegistry":{"get":{"summary":"List container registry capabilities per region","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.containerRegistry.Capability"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/capabilities/containerRegistry\")\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(\"/cloud/project/{serviceName}/capabilities/containerRegistry\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:capabilities/containerRegistry/get","required":true}]}},"/cloud/project/{serviceName}/capabilities/kube/admissionplugins":{"get":{"summary":"List of admissionPlugins managed by MKS product that can be enabled or disabled.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.ProjectKubeCustomizationAPIServerAdmissionPluginsEnum"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/capabilities/kube/admissionplugins\")\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(\"/cloud/project/{serviceName}/capabilities/kube/admissionplugins\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:capabilities/kube/admissionplugins/get","required":true}]}},"/cloud/project/{serviceName}/capabilities/kube/flavors":{"get":{"summary":"List Kubernetes available flavors for a region","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"query","name":"region","description":"The region to list available flavors from. Example: GRA11.","schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.kube.Flavor"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/capabilities/kube/flavors\")\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(\"/cloud/project/{serviceName}/capabilities/kube/flavors\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:capabilities/kube/flavors/get","required":true}]}},"/cloud/project/{serviceName}/capabilities/kube/log/kind":{"get":{"summary":"List available log kinds","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/capabilities/kube/log/kind\")\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(\"/cloud/project/{serviceName}/capabilities/kube/log/kind\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:capabilities/kube/log/kind/get","required":true}],"x-expanded-response":"DbaasLogsLogKind"}},"/cloud/project/{serviceName}/capabilities/kube/log/kind/{name}":{"get":{"summary":"Get a log kind","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"name","description":"Name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogKind"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/capabilities/kube/log/kind/{name}\")\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(\"/cloud/project/{serviceName}/capabilities/kube/log/kind/{name}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:capabilities/kube/log/kind/get","required":true}],"x-response-identifier":"name"}},"/cloud/project/{serviceName}/capabilities/kube/regions":{"get":{"summary":"List Kubernetes regions where cluster creation is possible.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/capabilities/kube/regions\")\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(\"/cloud/project/{serviceName}/capabilities/kube/regions\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:capabilities/kube/regions/get","required":true}]}},"/cloud/project/{serviceName}/capabilities/loadbalancer/region":{"get":{"summary":"List all available regions","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}},"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(\"/cloud/project/{serviceName}/capabilities/loadbalancer/region\")\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(\"/cloud/project/{serviceName}/capabilities/loadbalancer/region\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:capabilities/loadbalancer/region/get","required":true}],"x-expanded-response":"CloudProjectLoadbalancerRegion"}},"/cloud/project/{serviceName}/capabilities/loadbalancer/region/{regionName}":{"get":{"summary":"Get specific information of a region","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.loadbalancer.Region"}}}}},"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(\"/cloud/project/{serviceName}/capabilities/loadbalancer/region/{regionName}\")\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(\"/cloud/project/{serviceName}/capabilities/loadbalancer/region/{regionName}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:capabilities/loadbalancer/region/get","required":true}],"x-response-identifier":"region"}},"/cloud/project/{serviceName}/capabilities/productAvailability":{"get":{"summary":"List product availability","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"query","name":"addonFamily","description":"Addon family filter","schema":{"type":"string"}},{"in":"query","name":"ovhSubsidiary","description":"OVH subsidiary","required":true,"schema":{"$ref":"#/components/schemas/nichandle.OvhSubsidiaryEnum"}},{"in":"query","name":"planCode","description":"Plan code filter","schema":{"type":"string"}},{"in":"query","name":"planFamily","description":"Plan family filter (deprecated, use addonFamily instead)","schema":{"type":"string"}},{"in":"query","name":"product","description":"Product filter","schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.capabilities.Availability"}}}}},"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(\"/cloud/project/{serviceName}/capabilities/productAvailability\")\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(\"/cloud/project/{serviceName}/capabilities/productAvailability\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:capabilities/productAvailability/get","required":true}]}},"/cloud/project/{serviceName}/changeContact":{"post":{"summary":"Change service contacts","description":"Change service contacts. Starts a procedure to change the admin, tech or billing contact of the service.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"The project id","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"contactAdmin":{"type":"string","description":"The contact to set as admin contact"},"contactBilling":{"type":"string","description":"The contact to set as billing contact"},"contactTech":{"type":"string","description":"The contact to set as tech contact"}}}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"integer"}}}}}},"x-developer-hub-navigation":[["Public Cloud","Project Management","Lifecycle"]],"x-badges":[{"color":"green","label":"Stable production 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: coreTypes.AccountId:string\nresult = client.post(\"/cloud/project/{serviceName}/changeContact\",\n\tcontactAdmin = None, # The contact to set as admin contact (type: coreTypes.AccountId:string, nullable)\n\tcontactBilling = None, # The contact to set as billing contact (type: coreTypes.AccountId:string, nullable)\n\tcontactTech = None, # The contact to set as tech contact (type: coreTypes.AccountId:string, nullable)\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: coreTypes.AccountId:string\n$result = $ovh->post(\"/cloud/project/{serviceName}/changeContact\", array(\n\tcontactAdmin => null, // The contact to set as admin contact (type: coreTypes.AccountId:string, nullable)\n\tcontactBilling => null, // The contact to set as billing contact (type: coreTypes.AccountId:string, nullable)\n\tcontactTech => null, // The contact to set as tech contact (type: coreTypes.AccountId:string, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:changeContact","required":true}]}},"/cloud/project/{serviceName}/confirmTermination":{"post":{"summary":"Confirm service termination","description":"Confirm service termination. Terminates the service with the token sent by email to the admin contact. A reason, a future use and a comment can be given.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"The project id","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"commentary":{"type":"string","description":"Commentary about your termination request"},"futureUse":{"description":"What next after your termination request","$ref":"#/components/schemas/service.TerminationFutureUseEnum"},"reason":{"description":"Reason of your termination request","$ref":"#/components/schemas/service.TerminationReasonEnum"},"token":{"type":"string","description":"The termination token sent by email to the admin contact"}},"required":["token"]}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"string"}}}}},"x-developer-hub-navigation":[["Public Cloud","Project Management","Lifecycle"]],"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/confirmTermination\",\n\tcommentary = None, # Commentary about your termination request (type: string, nullable)\n\tfutureUse = None, # What next after your termination request (type: service.TerminationFutureUseEnum, nullable)\n\treason = None, # Reason of your termination request (type: service.TerminationReasonEnum, nullable)\n\ttoken = None, # The termination token sent by email to the admin contact (type: string)\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$result = $ovh->post(\"/cloud/project/{serviceName}/confirmTermination\", array(\n\tcommentary => null, // Commentary about your termination request (type: string, nullable)\n\tfutureUse => null, // What next after your termination request (type: service.TerminationFutureUseEnum, nullable)\n\treason => null, // Reason of your termination request (type: service.TerminationReasonEnum, nullable)\n\ttoken => null, // The termination token sent by email to the admin contact (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:confirmTermination","required":true}]}},"/cloud/project/{serviceName}/containerRegistry":{"get":{"summary":"List registries of the project","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.containerRegistry.Registry"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/containerRegistry\")\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(\"/cloud/project/{serviceName}/containerRegistry\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:containerRegistry/get","required":true}],"x-response-identifier":"id","x-expanded-response":"CloudContainerRegistryRegistry"},"post":{"summary":"Create a new registry","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ProjectContainerRegistryCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.containerRegistry.Registry"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.ProjectContainerRegistryCreation\nresult = client.post(\"/cloud/project/{serviceName}/containerRegistry\",\n\tname = None, # Name of the new registry (type: string)\n\tplanID = None, # ID of the plan to use for the new registry (type: string)\n\tregion = None, # Region where to deploy the registry.  Get available regions with /cloud/project/{serviceName}/capabilities/containerRegistry. (type: string)\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: cloud.ProjectContainerRegistryCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/containerRegistry\", array(\n\tname => null, // Name of the new registry (type: string)\n\tplanID => null, // ID of the plan to use for the new registry (type: string)\n\tregion => null, // Region where to deploy the registry.  Get available regions with /cloud/project/{serviceName}/capabilities/containerRegistry. (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:containerRegistry/create","required":true}]}},"/cloud/project/{serviceName}/containerRegistry/{registryID}":{"delete":{"summary":"Delete a registry","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"registryID","description":"RegistryID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/containerRegistry/{registryID}\")\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(\"/cloud/project/{serviceName}/containerRegistry/{registryID}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:containerRegistry/delete","required":true}]},"get":{"summary":"Get the registry information","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"registryID","description":"RegistryID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.containerRegistry.Registry"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/containerRegistry/{registryID}\")\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(\"/cloud/project/{serviceName}/containerRegistry/{registryID}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:containerRegistry/get","required":true}],"x-response-identifier":"id"},"put":{"summary":"Update the registry","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"registryID","description":"RegistryID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ProjectContainerRegistryUpdate"}}}},"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.ProjectContainerRegistryUpdate\nresult = client.put(\"/cloud/project/{serviceName}/containerRegistry/{registryID}\",\n\tname = None, # New registry name (type: string)\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: cloud.ProjectContainerRegistryUpdate\n$result = $ovh->put(\"/cloud/project/{serviceName}/containerRegistry/{registryID}\", array(\n\tname => null, // New registry name (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:containerRegistry/edit","required":true}]}},"/cloud/project/{serviceName}/containerRegistry/{registryID}/capabilities/plan":{"get":{"summary":"Get available plans for the current registry.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"registryID","description":"RegistryID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.containerRegistry.Plan"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/containerRegistry/{registryID}/capabilities/plan\")\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(\"/cloud/project/{serviceName}/containerRegistry/{registryID}/capabilities/plan\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:containerRegistry/capabilities/plan/get","required":true}]}},"/cloud/project/{serviceName}/containerRegistry/{registryID}/iam":{"delete":{"summary":"Disable Ovhcloud IAM","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"registryID","description":"RegistryID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/containerRegistry/{registryID}/iam\")\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(\"/cloud/project/{serviceName}/containerRegistry/{registryID}/iam\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:containerRegistry/iam/disable","required":true}]},"post":{"summary":"Enable OVHcloud IAM","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"registryID","description":"RegistryID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.containerRegistry.iamPost"}}}},"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.containerRegistry.iamPost\nresult = client.post(\"/cloud/project/{serviceName}/containerRegistry/{registryID}/iam\",\n\tdeleteUsers = None, # Delete all previously created users to allow IAM activation (type: boolean, nullable)\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: cloud.containerRegistry.iamPost\n$result = $ovh->post(\"/cloud/project/{serviceName}/containerRegistry/{registryID}/iam\", array(\n\tdeleteUsers => null, // Delete all previously created users to allow IAM activation (type: boolean, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:containerRegistry/iam/enable","required":true}]}},"/cloud/project/{serviceName}/containerRegistry/{registryID}/ipRestrictions/management":{"get":{"summary":"List your IP restrictions applied on Harbor UI and API","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"registryID","description":"RegistryID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.containerRegistry.IPRestrictions"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/containerRegistry/{registryID}/ipRestrictions/management\")\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(\"/cloud/project/{serviceName}/containerRegistry/{registryID}/ipRestrictions/management\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:containerRegistry/ipRestrictions/management/get","required":true}]},"put":{"summary":"Replace IP restrictions applied on Harbor UI and API","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"registryID","description":"RegistryID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.containerRegistry.IPRestrictions"}}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.containerRegistry.IPRestrictions"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.containerRegistry.IPRestrictions[]\nresult = client.put(\"/cloud/project/{serviceName}/containerRegistry/{registryID}/ipRestrictions/management\",\n\tdata = None, # (type: cloud.containerRegistry.IPRestrictions[])\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: cloud.containerRegistry.IPRestrictions[]\n$result = $ovh->put(\"/cloud/project/{serviceName}/containerRegistry/{registryID}/ipRestrictions/management\", array(\n\tdata => null, // (type: cloud.containerRegistry.IPRestrictions[])\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:containerRegistry/ipRestrictions/management/edit","required":true}]}},"/cloud/project/{serviceName}/containerRegistry/{registryID}/ipRestrictions/registry":{"get":{"summary":"List your IP restrictions applied on artifact manager component","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"registryID","description":"RegistryID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.containerRegistry.IPRestrictions"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/containerRegistry/{registryID}/ipRestrictions/registry\")\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(\"/cloud/project/{serviceName}/containerRegistry/{registryID}/ipRestrictions/registry\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:containerRegistry/ipRestrictions/registry/get","required":true}]},"put":{"summary":"Replace IP restrictions applied on artifact manager component (Docker, Helm, etc...)","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"registryID","description":"RegistryID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.containerRegistry.IPRestrictions"}}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.containerRegistry.IPRestrictions"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.containerRegistry.IPRestrictions[]\nresult = client.put(\"/cloud/project/{serviceName}/containerRegistry/{registryID}/ipRestrictions/registry\",\n\tdata = None, # (type: cloud.containerRegistry.IPRestrictions[])\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: cloud.containerRegistry.IPRestrictions[]\n$result = $ovh->put(\"/cloud/project/{serviceName}/containerRegistry/{registryID}/ipRestrictions/registry\", array(\n\tdata => null, // (type: cloud.containerRegistry.IPRestrictions[])\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:containerRegistry/ipRestrictions/registry/edit","required":true}]}},"/cloud/project/{serviceName}/containerRegistry/{registryID}/openIdConnect":{"delete":{"summary":"Delete the registry's OIDC Configuration","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"registryID","description":"RegistryID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/containerRegistry/{registryID}/openIdConnect\")\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(\"/cloud/project/{serviceName}/containerRegistry/{registryID}/openIdConnect\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:containerRegistry/openIdConnect/delete","required":true}]},"get":{"summary":"Get the registry's OIDC configuration","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"registryID","description":"RegistryID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.containerRegistry.OIDCConfiguration"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/containerRegistry/{registryID}/openIdConnect\")\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(\"/cloud/project/{serviceName}/containerRegistry/{registryID}/openIdConnect\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:containerRegistry/openIdConnect/get","required":true}]},"post":{"summary":"Add or replace the registry's OIDC configuration","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"registryID","description":"RegistryID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.containerRegistry.OIDCPost"}}}},"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.containerRegistry.OIDCPost\nresult = client.post(\"/cloud/project/{serviceName}/containerRegistry/{registryID}/openIdConnect\",\n\tdeleteUsers = None, # Delete all previously created users to allow OIDC configuration (type: boolean, nullable)\n\tprovider = None, # The OIDC provider configuration (type: cloud.containerRegistry.OIDCConfiguration)\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: cloud.containerRegistry.OIDCPost\n$result = $ovh->post(\"/cloud/project/{serviceName}/containerRegistry/{registryID}/openIdConnect\", array(\n\tdeleteUsers => null, // Delete all previously created users to allow OIDC configuration (type: boolean, nullable)\n\tprovider => null, // The OIDC provider configuration (type: cloud.containerRegistry.OIDCConfiguration)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:containerRegistry/openIdConnect/upsert","required":true}]},"put":{"summary":"Edit the registry's OIDC configuration","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"registryID","description":"RegistryID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.containerRegistry.OIDCPut"}}}},"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.containerRegistry.OIDCPut\nresult = client.put(\"/cloud/project/{serviceName}/containerRegistry/{registryID}/openIdConnect\",\n\tadminGroup = None, # The OIDC Configuration AdminGroup (type: string, nullable)\n\tautoOnboard = None, # The OIDC Configuration AutoOnboard (type: boolean, nullable)\n\tclientId = None, # The OIDC Configuration ClientID (type: string, nullable)\n\tclientSecret = None, # The OIDC Configuration Client Secret (type: string, nullable)\n\tendpoint = None, # The OIDC Configuration Endpoint (type: string, nullable)\n\tgroupFilter = None, # The OIDC Configuration GroupFilter (type: string, nullable)\n\tgroupsClaim = None, # The OIDC Configuration GroupsClaim (type: string, nullable)\n\tname = None, # The OIDC Configuration Name (type: string, nullable)\n\tscope = None, # The OIDC Configuration comma-separated list of Scopes (type: string, nullable)\n\tuserClaim = None, # The OIDC Configuration UserClaim (type: string, nullable)\n\tverifyCert = None, # The OIDC Configuration VerifyCert (type: boolean, nullable)\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: cloud.containerRegistry.OIDCPut\n$result = $ovh->put(\"/cloud/project/{serviceName}/containerRegistry/{registryID}/openIdConnect\", array(\n\tadminGroup => null, // The OIDC Configuration AdminGroup (type: string, nullable)\n\tautoOnboard => null, // The OIDC Configuration AutoOnboard (type: boolean, nullable)\n\tclientId => null, // The OIDC Configuration ClientID (type: string, nullable)\n\tclientSecret => null, // The OIDC Configuration Client Secret (type: string, nullable)\n\tendpoint => null, // The OIDC Configuration Endpoint (type: string, nullable)\n\tgroupFilter => null, // The OIDC Configuration GroupFilter (type: string, nullable)\n\tgroupsClaim => null, // The OIDC Configuration GroupsClaim (type: string, nullable)\n\tname => null, // The OIDC Configuration Name (type: string, nullable)\n\tscope => null, // The OIDC Configuration comma-separated list of Scopes (type: string, nullable)\n\tuserClaim => null, // The OIDC Configuration UserClaim (type: string, nullable)\n\tverifyCert => null, // The OIDC Configuration VerifyCert (type: boolean, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:containerRegistry/openIdConnect/edit","required":true}]}},"/cloud/project/{serviceName}/containerRegistry/{registryID}/plan":{"get":{"summary":"Show the actual plan of the registry.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"registryID","description":"RegistryID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.containerRegistry.Plan"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/containerRegistry/{registryID}/plan\")\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(\"/cloud/project/{serviceName}/containerRegistry/{registryID}/plan\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:containerRegistry/plan/get","required":true}]},"put":{"summary":"Update the plan of a registry.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"registryID","description":"RegistryID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.containerRegistry.PlanUpdate"}}}},"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.containerRegistry.PlanUpdate\nresult = client.put(\"/cloud/project/{serviceName}/containerRegistry/{registryID}/plan\",\n\tplanID = None, # Plan ID to apply to the registry (type: string)\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: cloud.containerRegistry.PlanUpdate\n$result = $ovh->put(\"/cloud/project/{serviceName}/containerRegistry/{registryID}/plan\", array(\n\tplanID => null, // Plan ID to apply to the registry (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:containerRegistry/plan/edit","required":true}]}},"/cloud/project/{serviceName}/containerRegistry/{registryID}/users":{"get":{"summary":"List registry user","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"registryID","description":"RegistryID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.containerRegistry.User"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/containerRegistry/{registryID}/users\")\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(\"/cloud/project/{serviceName}/containerRegistry/{registryID}/users\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:containerRegistry/users/get","required":true}],"x-response-identifier":"id","x-expanded-response":"CloudContainerRegistryUser"},"post":{"summary":"Create a new registry user","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"registryID","description":"RegistryID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ProjectContainerRegistryUsersCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.containerRegistry.User"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.ProjectContainerRegistryUsersCreation\nresult = client.post(\"/cloud/project/{serviceName}/containerRegistry/{registryID}/users\",\n\temail = None, # New user email (type: string, nullable)\n\tlogin = None, # New user login (type: string, nullable)\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: cloud.ProjectContainerRegistryUsersCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/containerRegistry/{registryID}/users\", array(\n\temail => null, // New user email (type: string, nullable)\n\tlogin => null, // New user login (type: string, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:containerRegistry/users/create","required":true}]}},"/cloud/project/{serviceName}/containerRegistry/{registryID}/users/{userID}":{"delete":{"summary":"Delete a registry user","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"registryID","description":"RegistryID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"userID","description":"UserID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/containerRegistry/{registryID}/users/{userID}\")\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(\"/cloud/project/{serviceName}/containerRegistry/{registryID}/users/{userID}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:containerRegistry/users/delete","required":true}]},"get":{"summary":"Get registry user","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"registryID","description":"RegistryID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"userID","description":"UserID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.containerRegistry.User"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/containerRegistry/{registryID}/users/{userID}\")\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(\"/cloud/project/{serviceName}/containerRegistry/{registryID}/users/{userID}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:containerRegistry/users/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/containerRegistry/{registryID}/users/{userID}/setAsAdmin":{"put":{"summary":"Set the user as Admin","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"registryID","description":"RegistryID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"userID","description":"UserID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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.put(\"/cloud/project/{serviceName}/containerRegistry/{registryID}/users/{userID}/setAsAdmin\")\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->put(\"/cloud/project/{serviceName}/containerRegistry/{registryID}/users/{userID}/setAsAdmin\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:containerRegistry/users/setAsAdmin","required":true}]}},"/cloud/project/{serviceName}/credit":{"get":{"summary":"List project credits. Returns the IDs of the credits added to the project.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"The project id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"integer"}}}}}},"x-developer-hub-navigation":[["Public Cloud","Project Management","Usage"]],"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/credit\")\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(\"/cloud/project/{serviceName}/credit\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:credit/get","required":true}],"x-expanded-response":"CloudCredit"},"post":{"summary":"Add a voucher credit. Adds the credit of a voucher code to the project.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"The project id","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","description":"Voucher code"}},"required":["code"]}}}},"responses":{"200":{"description":"successful operation"}},"x-developer-hub-navigation":[["Public Cloud","Project Management","Usage"]],"x-badges":[{"color":"green","label":"Stable production 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: string\nresult = client.post(\"/cloud/project/{serviceName}/credit\",\n\tcode = None, # Voucher code (type: string)\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: string\n$result = $ovh->post(\"/cloud/project/{serviceName}/credit\", array(\n\tcode => null, // Voucher code (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:credit/create","required":true}]}},"/cloud/project/{serviceName}/credit/{id}":{"get":{"summary":"Get a project credit","description":"Get a project credit. Returns the total, used and available amounts of the credit, its validity period and the products it applies to.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"id","description":"Credit id","required":true,"schema":{"type":"integer"}},{"in":"path","name":"serviceName","description":"The project id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.Credit"}}}}},"x-developer-hub-navigation":[["Public Cloud","Project Management","Usage"]],"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/credit/{id}\")\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(\"/cloud/project/{serviceName}/credit/{id}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:credit/get","required":true}]}},"/cloud/project/{serviceName}/database/availability":{"get":{"summary":"Get database engines availability","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"query","name":"action","description":"Type of action on which restrict the availabilities","schema":{"$ref":"#/components/schemas/cloud.project.database.availability.ActionEnum"}},{"in":"query","name":"clusterId","description":"Cluster ID on which restrict the availabilities","schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"query","name":"target","description":"Type of target on which restrict the availabilities","schema":{"$ref":"#/components/schemas/cloud.project.database.availability.TargetEnum"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.database.Availability"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/availability\")\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(\"/cloud/project/{serviceName}/database/availability\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/availability/get","required":true}]}},"/cloud/project/{serviceName}/database/capabilities":{"get":{"summary":"Get database engines capabilities","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.Capabilities"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/capabilities\")\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(\"/cloud/project/{serviceName}/database/capabilities\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/capabilities/get","required":true}]}},"/cloud/project/{serviceName}/database/capabilities/engines":{"get":{"summary":"Get database engines capabilities","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.database.manager.capabilities.Engine"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/capabilities/engines\")\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(\"/cloud/project/{serviceName}/database/capabilities/engines\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/capabilities/get","required":true}]}},"/cloud/project/{serviceName}/database/clickhouse":{"get":{"summary":"List all the clickhouse of the project","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/clickhouse\")\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(\"/cloud/project/{serviceName}/database/clickhouse\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/clickhouse/get","required":true}],"x-expanded-response":"CloudProjectDatabaseService"},"post":{"summary":"Create a new clickhouse cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.ServiceCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.Service"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.ServiceCreation\nresult = client.post(\"/cloud/project/{serviceName}/database/clickhouse\",\n\tbackup = None, # Backup from which the new service is created. DEPRECATED: use forkFrom (type: cloud.project.database.service.creation.BackupFork, nullable)\n\tbackupTime = None, # Time on which backups start every day. DEPRECATED: use backups.time (type: time, nullable)\n\tbackups = None, # Information related to the backups, null if the engine does not support backups (type: cloud.project.database.service.Backup, nullable)\n\tdescription = None, # Description of the cluster (type: string)\n\tdisk = None, # Disk attributes of the cluster (type: cloud.project.database.service.Disk)\n\tforkFrom = None, # Backup from which the new service is created (type: cloud.project.database.service.creation.ForkFrom, nullable)\n\tipRestrictions = None, # IP Blocks authorized to access to the cluster (type: array)\n\tmaintenanceTime = None, # Time on which maintenances can start every day (type: time, nullable)\n\tnetworkId = None, # Private network ID in which the cluster is (type: string, nullable)\n\tnodesList = None, # List of nodes in the cluster, not compatible with nodesPattern (type: array, nullable)\n\tnodesPattern = None, # Pattern definition of the nodes in the cluster, not compatible with nodesList (type: cloud.project.database.service.NodePattern, nullable)\n\tplan = None, # Plan of the cluster (type: string)\n\tsubnetId = None, # Private subnet ID in which the cluster is (type: string, nullable)\n\tversion = None, # Version of the engine deployed on the cluster (type: string)\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: cloud.project.database.ServiceCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/clickhouse\", array(\n\tbackup => null, // Backup from which the new service is created. DEPRECATED: use forkFrom (type: cloud.project.database.service.creation.BackupFork, nullable)\n\tbackupTime => null, // Time on which backups start every day. DEPRECATED: use backups.time (type: time, nullable)\n\tbackups => null, // Information related to the backups, null if the engine does not support backups (type: cloud.project.database.service.Backup, nullable)\n\tdescription => null, // Description of the cluster (type: string)\n\tdisk => null, // Disk attributes of the cluster (type: cloud.project.database.service.Disk)\n\tforkFrom => null, // Backup from which the new service is created (type: cloud.project.database.service.creation.ForkFrom, nullable)\n\tipRestrictions => null, // IP Blocks authorized to access to the cluster (type: array)\n\tmaintenanceTime => null, // Time on which maintenances can start every day (type: time, nullable)\n\tnetworkId => null, // Private network ID in which the cluster is (type: string, nullable)\n\tnodesList => null, // List of nodes in the cluster, not compatible with nodesPattern (type: array, nullable)\n\tnodesPattern => null, // Pattern definition of the nodes in the cluster, not compatible with nodesList (type: cloud.project.database.service.NodePattern, nullable)\n\tplan => null, // Plan of the cluster (type: string)\n\tsubnetId => null, // Private subnet ID in which the cluster is (type: string, nullable)\n\tversion => null, // Version of the engine deployed on the cluster (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/clickhouse/create","required":true}]}},"/cloud/project/{serviceName}/database/clickhouse/{clusterId}":{"delete":{"summary":"Delete a clickhouse cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}\")\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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/clickhouse/delete","required":true}]},"get":{"summary":"Get clickhouse cluster properties","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.Service"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}\")\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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/clickhouse/get","required":true}],"x-response-identifier":"id"},"put":{"summary":"Update an existing clickhouse cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.Service"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.Service"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.Service\nresult = client.put(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}\",\n\tbackupTime = None, # Time on which backups start every day. DEPRECATED: use backups.time (type: time)\n\tbackups = None, # Information related to the backups, null if the engine does not support backups (type: cloud.project.database.service.Backup, nullable)\n\tdeletionProtection = None, # Enable deletion protection (type: boolean, nullable)\n\tdescription = None, # Description of the cluster (type: string)\n\tdisk = None, # Disk attributes of the cluster. DEPRECATED: use storage (type: cloud.project.database.service.Disk)\n\tenablePrometheus = None, # Enable Prometheus (type: boolean, nullable)\n\tflavor = None, # The VM flavor used for this cluster (type: string)\n\tipRestrictions = None, # IP Blocks authorized to access to the cluster (type: array)\n\tmaintenanceTime = None, # Time on which maintenances can start every day (type: time)\n\tnetworkId = None, # Private network ID in which the cluster is (type: string, nullable)\n\tnodeNumber = None, # Number of nodes in the cluster. DEPRECATED: use nodes (type: integer)\n\tplan = None, # Plan of the cluster (type: string)\n\tstorage = None, # Storage attributes of the cluster (type: cloud.project.database.service.Storage, nullable)\n\tsubnetId = None, # Private subnet ID in which the cluster is (type: string, nullable)\n\tversion = None, # Version of the engine deployed on the cluster (type: string)\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: cloud.project.database.Service\n$result = $ovh->put(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}\", array(\n\tbackupTime => null, // Time on which backups start every day. DEPRECATED: use backups.time (type: time)\n\tbackups => null, // Information related to the backups, null if the engine does not support backups (type: cloud.project.database.service.Backup, nullable)\n\tdeletionProtection => null, // Enable deletion protection (type: boolean, nullable)\n\tdescription => null, // Description of the cluster (type: string)\n\tdisk => null, // Disk attributes of the cluster. DEPRECATED: use storage (type: cloud.project.database.service.Disk)\n\tenablePrometheus => null, // Enable Prometheus (type: boolean, nullable)\n\tflavor => null, // The VM flavor used for this cluster (type: string)\n\tipRestrictions => null, // IP Blocks authorized to access to the cluster (type: array)\n\tmaintenanceTime => null, // Time on which maintenances can start every day (type: time)\n\tnetworkId => null, // Private network ID in which the cluster is (type: string, nullable)\n\tnodeNumber => null, // Number of nodes in the cluster. DEPRECATED: use nodes (type: integer)\n\tplan => null, // Plan of the cluster (type: string)\n\tstorage => null, // Storage attributes of the cluster (type: cloud.project.database.service.Storage, nullable)\n\tsubnetId => null, // Private subnet ID in which the cluster is (type: string, nullable)\n\tversion => null, // Version of the engine deployed on the cluster (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/clickhouse/edit","required":true}]}},"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/backup":{"get":{"summary":"List backups of the clickhouse","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/backup\")\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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/backup\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/clickhouse/backup/get","required":true}],"x-expanded-response":"CloudProjectDatabaseBackup"}},"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/backup/{backupId}":{"get":{"summary":"Get clickhouse backups","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"backupId","description":"Backup ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.Backup"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/backup/{backupId}\")\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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/backup/{backupId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/clickhouse/backup/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/capabilities/backupRegions":{"get":{"summary":"Get backup region capabilities related to the clickhouse service","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/capabilities/backupRegions\")\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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/capabilities/backupRegions\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/clickhouse/capabilities/backupRegions/get","required":true}]}},"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/capabilities/integration":{"get":{"summary":"Get integration capabilities related to the clickhouse service","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.database.capabilities.Integration"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/capabilities/integration\")\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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/capabilities/integration\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/clickhouse/capabilities/integration/get","required":true}]}},"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/certificates":{"get":{"summary":"Retrieve the certificates of the clickhouse cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Certificates"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/certificates\")\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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/certificates\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/clickhouse/certificates/get","required":true}]}},"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/currentQueries":{"get":{"summary":"Retrieve the current queries for the cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"query","name":"limit","description":"Limit size of the result set returned by the pagination","schema":{"type":"integer"}},{"in":"query","name":"offset","description":"Offset of the result set returned by the pagination","schema":{"type":"integer"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.CurrentQueries"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/currentQueries\")\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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/currentQueries\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/clickhouse/currentQueries/get","required":true}]}},"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/currentQueries/cancel":{"post":{"summary":"Cancel the given current query of the cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.currentqueries.query.CancelRequest"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.currentqueries.query.CancelResponse"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.service.currentqueries.query.CancelRequest\nresult = client.post(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/currentQueries/cancel\",\n\tpid = None, # Database server connection ID (type: integer)\n\tterminate = None, # Request immediate termination instead of soft cancel (type: boolean)\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: cloud.project.database.service.currentqueries.query.CancelRequest\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/currentQueries/cancel\", array(\n\tpid => null, // Database server connection ID (type: integer)\n\tterminate => null, // Request immediate termination instead of soft cancel (type: boolean)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/clickhouse/currentQueries/cancel","required":true}]}},"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/database":{"get":{"security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/database\")\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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/database\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/clickhouse/database/get","required":true}],"x-expanded-response":"CloudProjectDatabaseServiceDatabase"},"post":{"summary":"Create a new database on the clickhouse cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Database"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Database"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.service.Database\nresult = client.post(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/database\",\n\tname = None, # Database name (type: string)\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: cloud.project.database.service.Database\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/database\", array(\n\tname => null, // Database name (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/clickhouse/database/create","required":true}]}},"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/database/{databaseId}":{"delete":{"summary":"Delete a clickhouse database","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"databaseId","description":"Database ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/database/{databaseId}\")\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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/database/{databaseId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/clickhouse/database/delete","required":true}]},"get":{"summary":"Get the database for the clickhouse cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"databaseId","description":"Database ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Database"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/database/{databaseId}\")\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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/database/{databaseId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/clickhouse/database/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/enableWrites":{"post":{"summary":"Enable temporary write permission on readonly lock clickhouse service","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.TemporaryWriteDeadline"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/enableWrites\")\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->post(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/enableWrites\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/clickhouse/enableWrites","required":true}]}},"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/integration":{"get":{"summary":"List integrations","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/integration\")\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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/integration\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/clickhouse/integration/get","required":true}],"x-expanded-response":"CloudProjectDatabaseServiceIntegration"},"post":{"summary":"Create a new integration","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Integration"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Integration"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.service.Integration\nresult = client.post(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/integration\",\n\tdestinationServiceId = None, # ID of the destination service (type: string)\n\tparameters = None, # Parameters for the integration (type: object, nullable)\n\tsourceServiceId = None, # ID of the source service (type: string)\n\ttype = None, # Type of the integration (type: cloud.project.database.service.integration.TypeEnum)\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: cloud.project.database.service.Integration\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/integration\", array(\n\tdestinationServiceId => null, // ID of the destination service (type: string)\n\tparameters => null, // Parameters for the integration (type: object, nullable)\n\tsourceServiceId => null, // ID of the source service (type: string)\n\ttype => null, // Type of the integration (type: cloud.project.database.service.integration.TypeEnum)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/clickhouse/integration/create","required":true}]}},"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/integration/{integrationId}":{"delete":{"summary":"Delete an integration","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"integrationId","description":"Integration ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/integration/{integrationId}\")\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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/integration/{integrationId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/clickhouse/integration/delete","required":true}]},"get":{"summary":"Get an integration","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"integrationId","description":"Integration ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Integration"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/integration/{integrationId}\")\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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/integration/{integrationId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/clickhouse/integration/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/log/kind":{"get":{"summary":"List available log kinds","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/log/kind\")\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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/log/kind\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/clickhouse/log/kind/get","required":true}],"x-expanded-response":"DbaasLogsLogKind"}},"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/log/kind/{name}":{"get":{"summary":"Get a log kind","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"name","description":"Name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogKind"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/log/kind/{name}\")\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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/log/kind/{name}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/clickhouse/log/kind/get","required":true}],"x-response-identifier":"name"}},"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/log/subscription":{"get":{"summary":"List subscription IDs for a cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"query","name":"kind","description":"Filter on a specific kind (e.g., audit)","schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/log/subscription\")\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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/log/subscription\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/clickhouse/log/subscription/get","required":true}],"x-expanded-response":"DbaasLogsLogSubscription"},"post":{"summary":"Create subscription to log to customer for a clickhouse","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscriptionCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscriptionResponse"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: dbaas.logs.LogSubscriptionCreation\nresult = client.post(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/log/subscription\",\n\tkind = None, # Log kind name to subscribe to (type: string)\n\tstreamId = None, # Customer log stream ID (type: string)\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: dbaas.logs.LogSubscriptionCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/log/subscription\", array(\n\tkind => null, // Log kind name to subscribe to (type: string)\n\tstreamId => null, // Customer log stream ID (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/clickhouse/log/subscription/create","required":true},{"name":"ldp:apiovh:output/graylog/stream/forwardTo","description":"Required on the targeted LDP service","required":true}]}},"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/log/subscription/{subscriptionId}":{"delete":{"summary":"Delete a subscription","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"subscriptionId","description":"Subscription ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscriptionResponse"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/log/subscription/{subscriptionId}\")\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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/log/subscription/{subscriptionId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/clickhouse/log/subscription/delete","required":true}]},"get":{"summary":"Get subscription details","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"subscriptionId","description":"Subscription ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscription"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/log/subscription/{subscriptionId}\")\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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/log/subscription/{subscriptionId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/clickhouse/log/subscription/get","required":true}],"x-response-identifier":"subscriptionId"}},"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/log/url":{"post":{"summary":"Generate a temporary URL to retrieve logs","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogUrlCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.TemporaryLogsLink"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: dbaas.logs.LogUrlCreation\nresult = client.post(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/log/url\",\n\tkind = None, # Log kind name (type: string)\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: dbaas.logs.LogUrlCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/log/url\", array(\n\tkind => null, // Log kind name (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/clickhouse/log/url/create","required":true}]}},"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/maintenance":{"get":{"summary":"List maintenances for the clickhouse cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/maintenance\")\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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/maintenance\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/clickhouse/maintenance/get","required":true}],"x-expanded-response":"CloudProjectDatabaseServiceMaintenance"}},"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/maintenance/{maintenanceId}":{"get":{"summary":"Get the maintenance for the clickhouse cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"maintenanceId","description":"Maintenance ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Maintenance"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/maintenance/{maintenanceId}\")\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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/maintenance/{maintenanceId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/clickhouse/maintenance/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/maintenance/{maintenanceId}/apply":{"post":{"summary":"Apply the maintenance","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"maintenanceId","description":"Maintenance ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Maintenance"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/maintenance/{maintenanceId}/apply\")\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->post(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/maintenance/{maintenanceId}/apply\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/clickhouse/maintenance/apply","required":true}]}},"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/metric":{"get":{"summary":"List available metrics for the clickhouse cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"query","name":"extended","description":"Display DB specific metrics","schema":{"type":"boolean"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/metric\")\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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/metric\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/clickhouse/metric/get","required":true}],"x-expanded-response":"CloudProjectDatabaseServiceMetric"}},"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/metric/{metricName}":{"get":{"summary":"Get the metric values for the clickhouse cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"metricName","description":"Metric name","required":true,"schema":{"type":"string"}},{"in":"query","name":"period","description":"The period of time to query metrics for","required":true,"schema":{"$ref":"#/components/schemas/cloud.project.database.service.MetricPeriodEnum"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Metric"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/metric/{metricName}\")\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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/metric/{metricName}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/clickhouse/metric/get","required":true}],"x-response-identifier":"name"}},"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/node":{"get":{"summary":"List nodes of the clickhouse","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/node\")\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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/node\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/clickhouse/node/get","required":true}],"x-expanded-response":"CloudProjectDatabaseServiceNode"}},"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/node/{nodeId}":{"get":{"summary":"Get clickhouse nodes","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"nodeId","description":"Node ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Node"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/node/{nodeId}\")\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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/node/{nodeId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/clickhouse/node/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/prometheus":{"get":{"summary":"Get the endpoint for clickhouse cluster Prometheus","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.PrometheusEndpoint"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/prometheus\")\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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/prometheus\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/clickhouse/prometheus/get","required":true}],"x-response-identifier":"username"}},"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/prometheus/credentials/reset":{"post":{"summary":"Reset the password of a Prometheus","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.PrometheusAccess"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/prometheus/credentials/reset\")\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->post(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/prometheus/credentials/reset\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/clickhouse/prometheus/credentials/reset","required":true}]}},"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/queryStatistics":{"get":{"summary":"Retrieve the query statistics for the cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"query","name":"limit","description":"Limit size of the result set returned by the pagination","schema":{"type":"integer"}},{"in":"query","name":"offset","description":"Offset of the result set returned by the pagination","schema":{"type":"integer"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.clickhouse.QueryStatistics"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/queryStatistics\")\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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/queryStatistics\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/clickhouse/queryStatistics/get","required":true}]}},"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/roles":{"get":{"summary":"Get clickhouse roles","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/roles\")\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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/roles\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/clickhouse/roles/get","required":true}]}},"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/user":{"get":{"summary":"List users of the clickhouse","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/user\")\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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/user\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/clickhouse/user/get","required":true}],"x-expanded-response":"CloudProjectDatabaseServiceUserWithRoles"},"post":{"summary":"Create a new user on the clickhouse cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.UserWithRolesCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.UserWithPasswordAndRoles"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.service.UserWithRolesCreation\nresult = client.post(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/user\",\n\tname = None, # Name of the user (type: string)\n\troles = None, # Roles the user belongs to (type: array)\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: cloud.project.database.service.UserWithRolesCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/user\", array(\n\tname => null, // Name of the user (type: string)\n\troles => null, // Roles the user belongs to (type: array)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/clickhouse/user/create","required":true}]}},"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/user/{userId}":{"delete":{"summary":"Delete a clickhouse user","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"userId","description":"User ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/user/{userId}\")\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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/user/{userId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/clickhouse/user/delete","required":true}]},"get":{"summary":"Get clickhouse users","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"userId","description":"User ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.UserWithRoles"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/user/{userId}\")\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(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/user/{userId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/clickhouse/user/get","required":true}],"x-response-identifier":"id"},"put":{"summary":"Updates the user on the clickhouse cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"userId","description":"User ID","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.UserWithRoles"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.UserWithRoles"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.service.UserWithRoles\nresult = client.put(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/user/{userId}\",\n\troles = None, # Roles the user belongs to (type: array)\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: cloud.project.database.service.UserWithRoles\n$result = $ovh->put(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/user/{userId}\", array(\n\troles => null, // Roles the user belongs to (type: array)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/clickhouse/user/edit","required":true}]}},"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/user/{userId}/credentials/reset":{"post":{"summary":"Reset the password of a user","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"userId","description":"User ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.UserWithPasswordAndRoles"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/user/{userId}/credentials/reset\")\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->post(\"/cloud/project/{serviceName}/database/clickhouse/{clusterId}/user/{userId}/credentials/reset\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/clickhouse/user/credentials/reset","required":true}]}},"/cloud/project/{serviceName}/database/grafana":{"get":{"summary":"List all the grafana of the project","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/grafana\")\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(\"/cloud/project/{serviceName}/database/grafana\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/grafana/get","required":true}],"x-expanded-response":"CloudProjectDatabaseServiceWithoutPrometheus"},"post":{"summary":"Create a new grafana cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.ServiceCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.ServiceWithoutPrometheus"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.ServiceCreation\nresult = client.post(\"/cloud/project/{serviceName}/database/grafana\",\n\tbackup = None, # Backup from which the new service is created. DEPRECATED: use forkFrom (type: cloud.project.database.service.creation.BackupFork, nullable)\n\tbackupTime = None, # Time on which backups start every day. DEPRECATED: use backups.time (type: time, nullable)\n\tbackups = None, # Information related to the backups, null if the engine does not support backups (type: cloud.project.database.service.Backup, nullable)\n\tdescription = None, # Description of the cluster (type: string)\n\tdisk = None, # Disk attributes of the cluster (type: cloud.project.database.service.Disk)\n\tforkFrom = None, # Backup from which the new service is created (type: cloud.project.database.service.creation.ForkFrom, nullable)\n\tipRestrictions = None, # IP Blocks authorized to access to the cluster (type: array)\n\tmaintenanceTime = None, # Time on which maintenances can start every day (type: time, nullable)\n\tnetworkId = None, # Private network ID in which the cluster is (type: string, nullable)\n\tnodesList = None, # List of nodes in the cluster, not compatible with nodesPattern (type: array, nullable)\n\tnodesPattern = None, # Pattern definition of the nodes in the cluster, not compatible with nodesList (type: cloud.project.database.service.NodePattern, nullable)\n\tplan = None, # Plan of the cluster (type: string)\n\tsubnetId = None, # Private subnet ID in which the cluster is (type: string, nullable)\n\tversion = None, # Version of the engine deployed on the cluster (type: string)\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: cloud.project.database.ServiceCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/grafana\", array(\n\tbackup => null, // Backup from which the new service is created. DEPRECATED: use forkFrom (type: cloud.project.database.service.creation.BackupFork, nullable)\n\tbackupTime => null, // Time on which backups start every day. DEPRECATED: use backups.time (type: time, nullable)\n\tbackups => null, // Information related to the backups, null if the engine does not support backups (type: cloud.project.database.service.Backup, nullable)\n\tdescription => null, // Description of the cluster (type: string)\n\tdisk => null, // Disk attributes of the cluster (type: cloud.project.database.service.Disk)\n\tforkFrom => null, // Backup from which the new service is created (type: cloud.project.database.service.creation.ForkFrom, nullable)\n\tipRestrictions => null, // IP Blocks authorized to access to the cluster (type: array)\n\tmaintenanceTime => null, // Time on which maintenances can start every day (type: time, nullable)\n\tnetworkId => null, // Private network ID in which the cluster is (type: string, nullable)\n\tnodesList => null, // List of nodes in the cluster, not compatible with nodesPattern (type: array, nullable)\n\tnodesPattern => null, // Pattern definition of the nodes in the cluster, not compatible with nodesList (type: cloud.project.database.service.NodePattern, nullable)\n\tplan => null, // Plan of the cluster (type: string)\n\tsubnetId => null, // Private subnet ID in which the cluster is (type: string, nullable)\n\tversion => null, // Version of the engine deployed on the cluster (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/grafana/create","required":true}]}},"/cloud/project/{serviceName}/database/grafana/{clusterId}":{"delete":{"summary":"Delete a grafana cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/grafana/{clusterId}\")\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(\"/cloud/project/{serviceName}/database/grafana/{clusterId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/grafana/delete","required":true}]},"get":{"summary":"Get grafana cluster properties","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.ServiceWithoutPrometheus"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/grafana/{clusterId}\")\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(\"/cloud/project/{serviceName}/database/grafana/{clusterId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/grafana/get","required":true}],"x-response-identifier":"id"},"put":{"summary":"Update an existing grafana cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.ServiceWithoutPrometheus"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.ServiceWithoutPrometheus"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.ServiceWithoutPrometheus\nresult = client.put(\"/cloud/project/{serviceName}/database/grafana/{clusterId}\",\n\tbackupTime = None, # Time on which backups start every day. DEPRECATED: use backups.time (type: time)\n\tbackups = None, # Information related to the backups, null if the engine does not support backups (type: cloud.project.database.service.Backup, nullable)\n\tdescription = None, # Description of the cluster (type: string)\n\tdisk = None, # Disk attributes of the cluster. DEPRECATED: use storage (type: cloud.project.database.service.Disk)\n\tflavor = None, # The VM flavor used for this cluster (type: string)\n\tipRestrictions = None, # IP Blocks authorized to access to the cluster (type: array)\n\tmaintenanceTime = None, # Time on which maintenances can start every day (type: time)\n\tnetworkId = None, # Private network ID in which the cluster is (type: string, nullable)\n\tnodeNumber = None, # Number of nodes in the cluster. DEPRECATED: use nodes (type: integer)\n\tplan = None, # Plan of the cluster (type: string)\n\tregion = None, # Region of the cluster (type: string, nullable)\n\tstorage = None, # Storage attributes of the cluster (type: cloud.project.database.service.Storage, nullable)\n\tsubnetId = None, # Private subnet ID in which the cluster is (type: string, nullable)\n\tversion = None, # Version of the engine deployed on the cluster (type: string)\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: cloud.project.database.ServiceWithoutPrometheus\n$result = $ovh->put(\"/cloud/project/{serviceName}/database/grafana/{clusterId}\", array(\n\tbackupTime => null, // Time on which backups start every day. DEPRECATED: use backups.time (type: time)\n\tbackups => null, // Information related to the backups, null if the engine does not support backups (type: cloud.project.database.service.Backup, nullable)\n\tdescription => null, // Description of the cluster (type: string)\n\tdisk => null, // Disk attributes of the cluster. DEPRECATED: use storage (type: cloud.project.database.service.Disk)\n\tflavor => null, // The VM flavor used for this cluster (type: string)\n\tipRestrictions => null, // IP Blocks authorized to access to the cluster (type: array)\n\tmaintenanceTime => null, // Time on which maintenances can start every day (type: time)\n\tnetworkId => null, // Private network ID in which the cluster is (type: string, nullable)\n\tnodeNumber => null, // Number of nodes in the cluster. DEPRECATED: use nodes (type: integer)\n\tplan => null, // Plan of the cluster (type: string)\n\tregion => null, // Region of the cluster (type: string, nullable)\n\tstorage => null, // Storage attributes of the cluster (type: cloud.project.database.service.Storage, nullable)\n\tsubnetId => null, // Private subnet ID in which the cluster is (type: string, nullable)\n\tversion => null, // Version of the engine deployed on the cluster (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/grafana/edit","required":true}]}},"/cloud/project/{serviceName}/database/grafana/{clusterId}/advancedConfiguration":{"get":{"summary":"Get grafana advanced configuration","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/advancedConfiguration\")\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(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/advancedConfiguration\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/grafana/advancedConfiguration/get","required":true}]},"put":{"summary":"Update grafana advanced configuration","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: map[string]string\nresult = client.put(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/advancedConfiguration\",\n\tdata = None, # (type: map[string]string)\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: map[string]string\n$result = $ovh->put(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/advancedConfiguration\", array(\n\tdata => null, // (type: map[string]string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/grafana/advancedConfiguration/edit","required":true}]}},"/cloud/project/{serviceName}/database/grafana/{clusterId}/backup":{"get":{"summary":"List backups of the grafana","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/backup\")\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(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/backup\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/grafana/backup/get","required":true}],"x-expanded-response":"CloudProjectDatabaseBackup"}},"/cloud/project/{serviceName}/database/grafana/{clusterId}/backup/{backupId}":{"get":{"summary":"Get grafana backups","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"backupId","description":"Backup ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.Backup"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/backup/{backupId}\")\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(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/backup/{backupId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/grafana/backup/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/database/grafana/{clusterId}/capabilities/advancedConfiguration":{"get":{"summary":"Get grafana advanced configuration fields","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.database.capabilities.advancedConfiguration.Property"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/capabilities/advancedConfiguration\")\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(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/capabilities/advancedConfiguration\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/grafana/capabilities/advancedConfiguration/get","required":true}]}},"/cloud/project/{serviceName}/database/grafana/{clusterId}/capabilities/backupRegions":{"get":{"summary":"Get backup region capabilities related to the grafana service","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/capabilities/backupRegions\")\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(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/capabilities/backupRegions\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/grafana/capabilities/backupRegions/get","required":true}]}},"/cloud/project/{serviceName}/database/grafana/{clusterId}/capabilities/integration":{"get":{"summary":"Get integration capabilities related to the grafana service","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.database.capabilities.Integration"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/capabilities/integration\")\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(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/capabilities/integration\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/grafana/capabilities/integration/get","required":true}]}},"/cloud/project/{serviceName}/database/grafana/{clusterId}/integration":{"get":{"summary":"List integrations","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/integration\")\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(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/integration\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/grafana/integration/get","required":true}],"x-expanded-response":"CloudProjectDatabaseServiceIntegration"},"post":{"summary":"Create a new integration","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Integration"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Integration"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.service.Integration\nresult = client.post(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/integration\",\n\tdestinationServiceId = None, # ID of the destination service (type: string)\n\tparameters = None, # Parameters for the integration (type: object, nullable)\n\tsourceServiceId = None, # ID of the source service (type: string)\n\ttype = None, # Type of the integration (type: cloud.project.database.service.integration.TypeEnum)\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: cloud.project.database.service.Integration\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/integration\", array(\n\tdestinationServiceId => null, // ID of the destination service (type: string)\n\tparameters => null, // Parameters for the integration (type: object, nullable)\n\tsourceServiceId => null, // ID of the source service (type: string)\n\ttype => null, // Type of the integration (type: cloud.project.database.service.integration.TypeEnum)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/grafana/integration/create","required":true}]}},"/cloud/project/{serviceName}/database/grafana/{clusterId}/integration/{integrationId}":{"delete":{"summary":"Delete an integration","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"integrationId","description":"Integration ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/integration/{integrationId}\")\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(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/integration/{integrationId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/grafana/integration/delete","required":true}]},"get":{"summary":"Get an integration","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"integrationId","description":"Integration ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Integration"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/integration/{integrationId}\")\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(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/integration/{integrationId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/grafana/integration/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/database/grafana/{clusterId}/log/kind":{"get":{"summary":"List available log kinds","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/log/kind\")\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(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/log/kind\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/grafana/log/kind/get","required":true}],"x-expanded-response":"DbaasLogsLogKind"}},"/cloud/project/{serviceName}/database/grafana/{clusterId}/log/kind/{name}":{"get":{"summary":"Get a log kind","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"name","description":"Name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogKind"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/log/kind/{name}\")\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(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/log/kind/{name}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/grafana/log/kind/get","required":true}],"x-response-identifier":"name"}},"/cloud/project/{serviceName}/database/grafana/{clusterId}/log/subscription":{"get":{"summary":"List subscription IDs for a cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"query","name":"kind","description":"Filter on a specific kind (e.g., audit)","schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/log/subscription\")\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(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/log/subscription\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/grafana/log/subscription/get","required":true}],"x-expanded-response":"DbaasLogsLogSubscription"},"post":{"summary":"Create subscription to log to customer for a grafana","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscriptionCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscriptionResponse"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: dbaas.logs.LogSubscriptionCreation\nresult = client.post(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/log/subscription\",\n\tkind = None, # Log kind name to subscribe to (type: string)\n\tstreamId = None, # Customer log stream ID (type: string)\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: dbaas.logs.LogSubscriptionCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/log/subscription\", array(\n\tkind => null, // Log kind name to subscribe to (type: string)\n\tstreamId => null, // Customer log stream ID (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/grafana/log/subscription/create","required":true},{"name":"ldp:apiovh:output/graylog/stream/forwardTo","description":"Required on the targeted LDP service","required":true}]}},"/cloud/project/{serviceName}/database/grafana/{clusterId}/log/subscription/{subscriptionId}":{"delete":{"summary":"Delete a subscription","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"subscriptionId","description":"Subscription ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscriptionResponse"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/log/subscription/{subscriptionId}\")\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(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/log/subscription/{subscriptionId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/grafana/log/subscription/delete","required":true}]},"get":{"summary":"Get subscription details","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"subscriptionId","description":"Subscription ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscription"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/log/subscription/{subscriptionId}\")\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(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/log/subscription/{subscriptionId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/grafana/log/subscription/get","required":true}],"x-response-identifier":"subscriptionId"}},"/cloud/project/{serviceName}/database/grafana/{clusterId}/log/url":{"post":{"summary":"Generate a temporary URL to retrieve logs","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogUrlCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.TemporaryLogsLink"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: dbaas.logs.LogUrlCreation\nresult = client.post(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/log/url\",\n\tkind = None, # Log kind name (type: string)\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: dbaas.logs.LogUrlCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/log/url\", array(\n\tkind => null, // Log kind name (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/grafana/log/url/create","required":true}]}},"/cloud/project/{serviceName}/database/grafana/{clusterId}/logs":{"get":{"summary":"Retrieve the most recent grafana log messages (limited to 1000)","deprecated":true,"x-deprecation-date":"2026-07-01T00:00:00Z","x-deletion-date":"2027-01-01T00:00:00Z","x-replacement-route":"/1.0/cloud/project/{serviceName}/database/grafana/{productID}/log/subscription","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.database.service.LogEntry"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"red","label":"Deprecated, will be removed"}],"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(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/logs\")\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(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/logs\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/grafana/logs/get","required":true}]}},"/cloud/project/{serviceName}/database/grafana/{clusterId}/maintenance":{"get":{"summary":"List maintenances for the grafana cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/maintenance\")\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(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/maintenance\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/grafana/maintenance/get","required":true}],"x-expanded-response":"CloudProjectDatabaseServiceMaintenance"}},"/cloud/project/{serviceName}/database/grafana/{clusterId}/maintenance/{maintenanceId}":{"get":{"summary":"Get the maintenance for the grafana cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"maintenanceId","description":"Maintenance ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Maintenance"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/maintenance/{maintenanceId}\")\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(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/maintenance/{maintenanceId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/grafana/maintenance/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/database/grafana/{clusterId}/maintenance/{maintenanceId}/apply":{"post":{"summary":"Apply the maintenance","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"maintenanceId","description":"Maintenance ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Maintenance"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/maintenance/{maintenanceId}/apply\")\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->post(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/maintenance/{maintenanceId}/apply\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/grafana/maintenance/apply","required":true}]}},"/cloud/project/{serviceName}/database/grafana/{clusterId}/metric":{"get":{"summary":"List available metrics for the grafana cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"query","name":"extended","description":"Display DB specific metrics","schema":{"type":"boolean"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/metric\")\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(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/metric\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/grafana/metric/get","required":true}],"x-expanded-response":"CloudProjectDatabaseServiceMetric"}},"/cloud/project/{serviceName}/database/grafana/{clusterId}/metric/{metricName}":{"get":{"summary":"Get the metric values for the grafana cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"metricName","description":"Metric name","required":true,"schema":{"type":"string"}},{"in":"query","name":"period","description":"The period of time to query metrics for","required":true,"schema":{"$ref":"#/components/schemas/cloud.project.database.service.MetricPeriodEnum"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Metric"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/metric/{metricName}\")\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(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/metric/{metricName}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/grafana/metric/get","required":true}],"x-response-identifier":"name"}},"/cloud/project/{serviceName}/database/grafana/{clusterId}/node":{"get":{"summary":"List nodes of the grafana","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/node\")\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(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/node\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/grafana/node/get","required":true}],"x-expanded-response":"CloudProjectDatabaseServiceNode"}},"/cloud/project/{serviceName}/database/grafana/{clusterId}/node/{nodeId}":{"get":{"summary":"Get grafana nodes","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"nodeId","description":"Node ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Node"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/node/{nodeId}\")\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(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/node/{nodeId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/grafana/node/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/database/grafana/{clusterId}/user":{"get":{"summary":"List users of the grafana","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/user\")\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(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/user\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/grafana/user/get","required":true}],"x-expanded-response":"CloudProjectDatabaseServiceUser"}},"/cloud/project/{serviceName}/database/grafana/{clusterId}/user/{userId}":{"get":{"summary":"Get grafana users","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"userId","description":"User ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.User"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/user/{userId}\")\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(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/user/{userId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/grafana/user/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/database/grafana/{clusterId}/user/{userId}/credentials/reset":{"post":{"summary":"Reset the password of a user","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"userId","description":"User ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.UserWithPassword"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/user/{userId}/credentials/reset\")\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->post(\"/cloud/project/{serviceName}/database/grafana/{clusterId}/user/{userId}/credentials/reset\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/grafana/user/credentials/reset","required":true}]}},"/cloud/project/{serviceName}/database/kafka":{"get":{"summary":"List all the kafka of the project","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafka\")\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(\"/cloud/project/{serviceName}/database/kafka\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafka/get","required":true}],"x-expanded-response":"CloudProjectDatabaseKafkaService"},"post":{"summary":"Create a new kafka cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.ServiceCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.kafka.Service"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.ServiceCreation\nresult = client.post(\"/cloud/project/{serviceName}/database/kafka\",\n\tbackup = None, # Backup from which the new service is created. DEPRECATED: use forkFrom (type: cloud.project.database.service.creation.BackupFork, nullable)\n\tbackupTime = None, # Time on which backups start every day. DEPRECATED: use backups.time (type: time, nullable)\n\tbackups = None, # Information related to the backups, null if the engine does not support backups (type: cloud.project.database.service.Backup, nullable)\n\tdescription = None, # Description of the cluster (type: string)\n\tdisk = None, # Disk attributes of the cluster (type: cloud.project.database.service.Disk)\n\tforkFrom = None, # Backup from which the new service is created (type: cloud.project.database.service.creation.ForkFrom, nullable)\n\tipRestrictions = None, # IP Blocks authorized to access to the cluster (type: array)\n\tmaintenanceTime = None, # Time on which maintenances can start every day (type: time, nullable)\n\tnetworkId = None, # Private network ID in which the cluster is (type: string, nullable)\n\tnodesList = None, # List of nodes in the cluster, not compatible with nodesPattern (type: array, nullable)\n\tnodesPattern = None, # Pattern definition of the nodes in the cluster, not compatible with nodesList (type: cloud.project.database.service.NodePattern, nullable)\n\tplan = None, # Plan of the cluster (type: string)\n\tsubnetId = None, # Private subnet ID in which the cluster is (type: string, nullable)\n\tversion = None, # Version of the engine deployed on the cluster (type: string)\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: cloud.project.database.ServiceCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/kafka\", array(\n\tbackup => null, // Backup from which the new service is created. DEPRECATED: use forkFrom (type: cloud.project.database.service.creation.BackupFork, nullable)\n\tbackupTime => null, // Time on which backups start every day. DEPRECATED: use backups.time (type: time, nullable)\n\tbackups => null, // Information related to the backups, null if the engine does not support backups (type: cloud.project.database.service.Backup, nullable)\n\tdescription => null, // Description of the cluster (type: string)\n\tdisk => null, // Disk attributes of the cluster (type: cloud.project.database.service.Disk)\n\tforkFrom => null, // Backup from which the new service is created (type: cloud.project.database.service.creation.ForkFrom, nullable)\n\tipRestrictions => null, // IP Blocks authorized to access to the cluster (type: array)\n\tmaintenanceTime => null, // Time on which maintenances can start every day (type: time, nullable)\n\tnetworkId => null, // Private network ID in which the cluster is (type: string, nullable)\n\tnodesList => null, // List of nodes in the cluster, not compatible with nodesPattern (type: array, nullable)\n\tnodesPattern => null, // Pattern definition of the nodes in the cluster, not compatible with nodesList (type: cloud.project.database.service.NodePattern, nullable)\n\tplan => null, // Plan of the cluster (type: string)\n\tsubnetId => null, // Private subnet ID in which the cluster is (type: string, nullable)\n\tversion => null, // Version of the engine deployed on the cluster (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafka/create","required":true}]}},"/cloud/project/{serviceName}/database/kafka/{clusterId}":{"delete":{"summary":"Delete a kafka cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}\")\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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafka/delete","required":true}]},"get":{"summary":"Get kafka cluster properties","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.kafka.Service"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}\")\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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafka/get","required":true}],"x-response-identifier":"id"},"put":{"summary":"Update an existing kafka cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.kafka.Service"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.kafka.Service"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.kafka.Service\nresult = client.put(\"/cloud/project/{serviceName}/database/kafka/{clusterId}\",\n\tbackupTime = None, # Time on which backups start every day (type: time)\n\tbackups = None, # Information related to the backups, null if the engine does not support backups (type: cloud.project.database.service.Backup, nullable)\n\tdeletionProtection = None, # Enable deletion protection (type: boolean, nullable)\n\tdescription = None, # Description of the cluster (type: string)\n\tdisk = None, # Disk attributes of the cluster. DEPRECATED: use storage (type: cloud.project.database.service.Disk)\n\tenablePrometheus = None, # Enable Prometheus (type: boolean, nullable)\n\tflavor = None, # The VM flavor used for this cluster (type: string)\n\tipRestrictions = None, # IP Blocks authorized to access to the cluster (type: array)\n\tmaintenanceTime = None, # Time on which maintenances can start every day (type: time)\n\tnetworkId = None, # Private network ID in which the cluster is (type: string, nullable)\n\tnodeNumber = None, # Number of nodes in the cluster. DEPRECATED: useNodes (type: integer)\n\tplan = None, # Plan of the cluster (type: string)\n\trestApi = None, # Defines whether the REST API is enabled on the cluster (type: boolean)\n\tschemaRegistry = None, # Defines whether the schema registry is enabled on the cluster (type: boolean)\n\tstorage = None, # Storage attributes of the cluster (type: cloud.project.database.service.Storage, nullable)\n\tsubnetId = None, # Private subnet ID in which the cluster is (type: string, nullable)\n\tversion = None, # Version of the engine deployed on the cluster (type: string)\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: cloud.project.database.kafka.Service\n$result = $ovh->put(\"/cloud/project/{serviceName}/database/kafka/{clusterId}\", array(\n\tbackupTime => null, // Time on which backups start every day (type: time)\n\tbackups => null, // Information related to the backups, null if the engine does not support backups (type: cloud.project.database.service.Backup, nullable)\n\tdeletionProtection => null, // Enable deletion protection (type: boolean, nullable)\n\tdescription => null, // Description of the cluster (type: string)\n\tdisk => null, // Disk attributes of the cluster. DEPRECATED: use storage (type: cloud.project.database.service.Disk)\n\tenablePrometheus => null, // Enable Prometheus (type: boolean, nullable)\n\tflavor => null, // The VM flavor used for this cluster (type: string)\n\tipRestrictions => null, // IP Blocks authorized to access to the cluster (type: array)\n\tmaintenanceTime => null, // Time on which maintenances can start every day (type: time)\n\tnetworkId => null, // Private network ID in which the cluster is (type: string, nullable)\n\tnodeNumber => null, // Number of nodes in the cluster. DEPRECATED: useNodes (type: integer)\n\tplan => null, // Plan of the cluster (type: string)\n\trestApi => null, // Defines whether the REST API is enabled on the cluster (type: boolean)\n\tschemaRegistry => null, // Defines whether the schema registry is enabled on the cluster (type: boolean)\n\tstorage => null, // Storage attributes of the cluster (type: cloud.project.database.service.Storage, nullable)\n\tsubnetId => null, // Private subnet ID in which the cluster is (type: string, nullable)\n\tversion => null, // Version of the engine deployed on the cluster (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafka/edit","required":true}]}},"/cloud/project/{serviceName}/database/kafka/{clusterId}/acl":{"get":{"summary":"List acls of the kafka","deprecated":true,"x-deprecation-date":"2022-07-13T00:00:00Z","x-deletion-date":"2023-10-13T00:00:00Z","x-replacement-route":"/1.0/cloud/project/{serviceName}/database/kafka/{productID}/topicAcl","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"red","label":"Deprecated, will be removed"}],"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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/acl\")\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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/acl\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafka/acl/get","required":true}],"x-expanded-response":"CloudProjectDatabaseKafkaTopicAcl"},"post":{"summary":"Create a new acl on the kafka cluster","deprecated":true,"x-deprecation-date":"2022-07-13T00:00:00Z","x-deletion-date":"2023-10-13T00:00:00Z","x-replacement-route":"/1.0/cloud/project/{serviceName}/database/kafka/{productID}/topicAcl","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.kafka.TopicAcl"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.kafka.TopicAcl"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"red","label":"Deprecated, will be removed"}],"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: cloud.project.database.kafka.TopicAcl\nresult = client.post(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/acl\",\n\tpermission = None, # Permission to give to this username on this topic. Permissions values can be retrieved using /cloud/project/{serviceName}/database/kafka/{clusterId}/permissions (type: string)\n\ttopic = None, # Topic affected by this acl (type: string)\n\tusername = None, # Username affected by this acl (type: string)\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: cloud.project.database.kafka.TopicAcl\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/acl\", array(\n\tpermission => null, // Permission to give to this username on this topic. Permissions values can be retrieved using /cloud/project/{serviceName}/database/kafka/{clusterId}/permissions (type: string)\n\ttopic => null, // Topic affected by this acl (type: string)\n\tusername => null, // Username affected by this acl (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafka/acl/create","required":true}]}},"/cloud/project/{serviceName}/database/kafka/{clusterId}/acl/{aclId}":{"delete":{"summary":"Delete a kafka acl","deprecated":true,"x-deprecation-date":"2022-07-13T00:00:00Z","x-deletion-date":"2023-10-13T00:00:00Z","x-replacement-route":"/1.0/cloud/project/{serviceName}/database/kafka/{productID}/topicAcl","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"aclId","description":"Acl ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"red","label":"Deprecated, will be removed"}],"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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/acl/{aclId}\")\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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/acl/{aclId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafka/acl/delete","required":true}]},"get":{"summary":"Get kafka acls","deprecated":true,"x-deprecation-date":"2022-07-13T00:00:00Z","x-deletion-date":"2023-10-13T00:00:00Z","x-replacement-route":"/1.0/cloud/project/{serviceName}/database/kafka/{productID}/topicAcl","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"aclId","description":"Acl ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.kafka.TopicAcl"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"red","label":"Deprecated, will be removed"}],"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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/acl/{aclId}\")\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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/acl/{aclId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafka/acl/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/database/kafka/{clusterId}/advancedConfiguration":{"get":{"summary":"Get kafka advanced configuration","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/advancedConfiguration\")\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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/advancedConfiguration\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafka/advancedConfiguration/get","required":true}]},"put":{"summary":"Update kafka advanced configuration","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: map[string]string\nresult = client.put(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/advancedConfiguration\",\n\tdata = None, # (type: map[string]string)\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: map[string]string\n$result = $ovh->put(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/advancedConfiguration\", array(\n\tdata => null, // (type: map[string]string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafka/advancedConfiguration/edit","required":true}]}},"/cloud/project/{serviceName}/database/kafka/{clusterId}/capabilities/advancedConfiguration":{"get":{"summary":"Get kafka advanced configuration fields","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.database.capabilities.advancedConfiguration.Property"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/capabilities/advancedConfiguration\")\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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/capabilities/advancedConfiguration\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafka/capabilities/advancedConfiguration/get","required":true}]}},"/cloud/project/{serviceName}/database/kafka/{clusterId}/capabilities/backupRegions":{"get":{"summary":"Get backup region capabilities related to the kafka service","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/capabilities/backupRegions\")\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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/capabilities/backupRegions\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafka/capabilities/backupRegions/get","required":true}]}},"/cloud/project/{serviceName}/database/kafka/{clusterId}/capabilities/integration":{"get":{"summary":"Get integration capabilities related to the kafka service","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.database.capabilities.Integration"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/capabilities/integration\")\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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/capabilities/integration\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafka/capabilities/integration/get","required":true}]}},"/cloud/project/{serviceName}/database/kafka/{clusterId}/certificates":{"get":{"summary":"Retrieve the certificates of the kafka cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Certificates"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/certificates\")\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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/certificates\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafka/certificates/get","required":true}]}},"/cloud/project/{serviceName}/database/kafka/{clusterId}/integration":{"get":{"summary":"List integrations","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/integration\")\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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/integration\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafka/integration/get","required":true}],"x-expanded-response":"CloudProjectDatabaseServiceIntegration"},"post":{"summary":"Create a new integration","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Integration"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Integration"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.service.Integration\nresult = client.post(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/integration\",\n\tdestinationServiceId = None, # ID of the destination service (type: string)\n\tparameters = None, # Parameters for the integration (type: object, nullable)\n\tsourceServiceId = None, # ID of the source service (type: string)\n\ttype = None, # Type of the integration (type: cloud.project.database.service.integration.TypeEnum)\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: cloud.project.database.service.Integration\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/integration\", array(\n\tdestinationServiceId => null, // ID of the destination service (type: string)\n\tparameters => null, // Parameters for the integration (type: object, nullable)\n\tsourceServiceId => null, // ID of the source service (type: string)\n\ttype => null, // Type of the integration (type: cloud.project.database.service.integration.TypeEnum)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafka/integration/create","required":true}]}},"/cloud/project/{serviceName}/database/kafka/{clusterId}/integration/{integrationId}":{"delete":{"summary":"Delete an integration","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"integrationId","description":"Integration ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/integration/{integrationId}\")\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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/integration/{integrationId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafka/integration/delete","required":true}]},"get":{"summary":"Get an integration","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"integrationId","description":"Integration ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Integration"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/integration/{integrationId}\")\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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/integration/{integrationId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafka/integration/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/database/kafka/{clusterId}/log/kind":{"get":{"summary":"List available log kinds","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/log/kind\")\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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/log/kind\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafka/log/kind/get","required":true}],"x-expanded-response":"DbaasLogsLogKind"}},"/cloud/project/{serviceName}/database/kafka/{clusterId}/log/kind/{name}":{"get":{"summary":"Get a log kind","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"name","description":"Name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogKind"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/log/kind/{name}\")\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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/log/kind/{name}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafka/log/kind/get","required":true}],"x-response-identifier":"name"}},"/cloud/project/{serviceName}/database/kafka/{clusterId}/log/subscription":{"get":{"summary":"List subscription IDs for a cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"query","name":"kind","description":"Filter on a specific kind (e.g., audit)","schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/log/subscription\")\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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/log/subscription\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafka/log/subscription/get","required":true}],"x-expanded-response":"DbaasLogsLogSubscription"},"post":{"summary":"Create subscription to log to customer for a kafka","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscriptionCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscriptionResponse"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: dbaas.logs.LogSubscriptionCreation\nresult = client.post(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/log/subscription\",\n\tkind = None, # Log kind name to subscribe to (type: string)\n\tstreamId = None, # Customer log stream ID (type: string)\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: dbaas.logs.LogSubscriptionCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/log/subscription\", array(\n\tkind => null, // Log kind name to subscribe to (type: string)\n\tstreamId => null, // Customer log stream ID (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafka/log/subscription/create","required":true},{"name":"ldp:apiovh:output/graylog/stream/forwardTo","description":"Required on the targeted LDP service","required":true}]}},"/cloud/project/{serviceName}/database/kafka/{clusterId}/log/subscription/{subscriptionId}":{"delete":{"summary":"Delete a subscription","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"subscriptionId","description":"Subscription ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscriptionResponse"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/log/subscription/{subscriptionId}\")\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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/log/subscription/{subscriptionId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafka/log/subscription/delete","required":true}]},"get":{"summary":"Get subscription details","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"subscriptionId","description":"Subscription ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscription"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/log/subscription/{subscriptionId}\")\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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/log/subscription/{subscriptionId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafka/log/subscription/get","required":true}],"x-response-identifier":"subscriptionId"}},"/cloud/project/{serviceName}/database/kafka/{clusterId}/log/url":{"post":{"summary":"Generate a temporary URL to retrieve logs","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogUrlCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.TemporaryLogsLink"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: dbaas.logs.LogUrlCreation\nresult = client.post(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/log/url\",\n\tkind = None, # Log kind name (type: string)\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: dbaas.logs.LogUrlCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/log/url\", array(\n\tkind => null, // Log kind name (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafka/log/url/create","required":true}]}},"/cloud/project/{serviceName}/database/kafka/{clusterId}/logs":{"get":{"summary":"Retrieve the most recent kafka log messages (limited to 1000)","deprecated":true,"x-deprecation-date":"2026-07-01T00:00:00Z","x-deletion-date":"2027-01-01T00:00:00Z","x-replacement-route":"/1.0/cloud/project/{serviceName}/database/kafka/{productID}/log/subscription","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.database.service.LogEntry"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"red","label":"Deprecated, will be removed"}],"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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/logs\")\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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/logs\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafka/logs/get","required":true}]}},"/cloud/project/{serviceName}/database/kafka/{clusterId}/maintenance":{"get":{"summary":"List maintenances for the kafka cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/maintenance\")\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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/maintenance\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafka/maintenance/get","required":true}],"x-expanded-response":"CloudProjectDatabaseServiceMaintenance"}},"/cloud/project/{serviceName}/database/kafka/{clusterId}/maintenance/{maintenanceId}":{"get":{"summary":"Get the maintenance for the kafka cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"maintenanceId","description":"Maintenance ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Maintenance"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/maintenance/{maintenanceId}\")\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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/maintenance/{maintenanceId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafka/maintenance/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/database/kafka/{clusterId}/maintenance/{maintenanceId}/apply":{"post":{"summary":"Apply the maintenance","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"maintenanceId","description":"Maintenance ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Maintenance"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/maintenance/{maintenanceId}/apply\")\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->post(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/maintenance/{maintenanceId}/apply\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafka/maintenance/apply","required":true}]}},"/cloud/project/{serviceName}/database/kafka/{clusterId}/metric":{"get":{"summary":"List available metrics for the kafka cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"query","name":"extended","description":"Display DB specific metrics","schema":{"type":"boolean"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/metric\")\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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/metric\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafka/metric/get","required":true}],"x-expanded-response":"CloudProjectDatabaseServiceMetric"}},"/cloud/project/{serviceName}/database/kafka/{clusterId}/metric/{metricName}":{"get":{"summary":"Get the metric values for the kafka cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"metricName","description":"Metric name","required":true,"schema":{"type":"string"}},{"in":"query","name":"period","description":"The period of time to query metrics for","required":true,"schema":{"$ref":"#/components/schemas/cloud.project.database.service.MetricPeriodEnum"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Metric"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/metric/{metricName}\")\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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/metric/{metricName}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafka/metric/get","required":true}],"x-response-identifier":"name"}},"/cloud/project/{serviceName}/database/kafka/{clusterId}/node":{"get":{"summary":"List nodes of the kafka","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/node\")\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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/node\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafka/node/get","required":true}],"x-expanded-response":"CloudProjectDatabaseServiceNode"}},"/cloud/project/{serviceName}/database/kafka/{clusterId}/node/{nodeId}":{"get":{"summary":"Get kafka nodes","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"nodeId","description":"Node ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Node"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/node/{nodeId}\")\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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/node/{nodeId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafka/node/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/database/kafka/{clusterId}/permissions":{"get":{"summary":"Retrieve the permissions available on the cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.kafka.Permissions"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/permissions\")\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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/permissions\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafka/permissions/get","required":true}]}},"/cloud/project/{serviceName}/database/kafka/{clusterId}/prometheus":{"get":{"summary":"Get the endpoint for Kafka cluster Prometheus","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.PrometheusEndpoint"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/prometheus\")\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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/prometheus\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafka/prometheus/get","required":true}],"x-response-identifier":"username"}},"/cloud/project/{serviceName}/database/kafka/{clusterId}/prometheus/credentials/reset":{"post":{"summary":"Reset the password of a Prometheus","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.PrometheusAccess"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/prometheus/credentials/reset\")\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->post(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/prometheus/credentials/reset\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafka/prometheus/credentials/reset","required":true}]}},"/cloud/project/{serviceName}/database/kafka/{clusterId}/schemaRegistryAcl":{"get":{"summary":"List schema registry acls of the kafka","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/schemaRegistryAcl\")\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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/schemaRegistryAcl\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafka/schemaRegistryAcl/get","required":true}],"x-expanded-response":"CloudProjectDatabaseKafkaSchemaRegistryAcl"},"post":{"summary":"Create a new schema registry acl on the kafka cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.kafka.SchemaRegistryAcl"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.kafka.SchemaRegistryAcl"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.kafka.SchemaRegistryAcl\nresult = client.post(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/schemaRegistryAcl\",\n\tpermission = None, # Permission to give to this username on this resource. Permissions values can be retrieved using /cloud/project/{serviceName}/database/kafka/{clusterId}/permissions (type: string)\n\tresource = None, # Resource affected by this acl (type: string)\n\tusername = None, # Username affected by this acl (type: string)\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: cloud.project.database.kafka.SchemaRegistryAcl\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/schemaRegistryAcl\", array(\n\tpermission => null, // Permission to give to this username on this resource. Permissions values can be retrieved using /cloud/project/{serviceName}/database/kafka/{clusterId}/permissions (type: string)\n\tresource => null, // Resource affected by this acl (type: string)\n\tusername => null, // Username affected by this acl (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafka/schemaRegistryAcl/create","required":true}]}},"/cloud/project/{serviceName}/database/kafka/{clusterId}/schemaRegistryAcl/{aclId}":{"delete":{"summary":"Delete a kafka schema registry acl","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"aclId","description":"Acl ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/schemaRegistryAcl/{aclId}\")\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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/schemaRegistryAcl/{aclId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafka/schemaRegistryAcl/delete","required":true}]},"get":{"summary":"Get kafka schema registry acls","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"aclId","description":"Acl ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.kafka.SchemaRegistryAcl"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/schemaRegistryAcl/{aclId}\")\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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/schemaRegistryAcl/{aclId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafka/schemaRegistryAcl/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/database/kafka/{clusterId}/topic":{"get":{"summary":"List topics of the kafka","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/topic\")\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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/topic\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafka/topic/get","required":true}],"x-expanded-response":"CloudProjectDatabaseKafkaTopic"},"post":{"summary":"Create a new topic on the kafka cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.kafka.TopicCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.kafka.Topic"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.kafka.TopicCreation\nresult = client.post(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/topic\",\n\tminInsyncReplicas = None, # Minimum insync replica accepted for this topic (type: integer)\n\tname = None, # Name of the topic (type: string)\n\tpartitions = None, # Number of partitions for this topic (type: integer)\n\treplication = None, # Number of replication for this topic (type: integer)\n\tretentionBytes = None, # Number of bytes for the retention of the data for this topic (type: integer)\n\tretentionHours = None, # Number of hours for the retention of the data for this topic (type: integer)\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: cloud.project.database.kafka.TopicCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/topic\", array(\n\tminInsyncReplicas => null, // Minimum insync replica accepted for this topic (type: integer)\n\tname => null, // Name of the topic (type: string)\n\tpartitions => null, // Number of partitions for this topic (type: integer)\n\treplication => null, // Number of replication for this topic (type: integer)\n\tretentionBytes => null, // Number of bytes for the retention of the data for this topic (type: integer)\n\tretentionHours => null, // Number of hours for the retention of the data for this topic (type: integer)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafka/topic/create","required":true}]}},"/cloud/project/{serviceName}/database/kafka/{clusterId}/topic/{topicId}":{"delete":{"summary":"Delete a kafka topic","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"topicId","description":"Topic ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/topic/{topicId}\")\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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/topic/{topicId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafka/topic/delete","required":true}]},"get":{"summary":"Get kafka topics","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"topicId","description":"Topic ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.kafka.Topic"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/topic/{topicId}\")\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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/topic/{topicId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafka/topic/get","required":true}],"x-response-identifier":"id"},"put":{"summary":"Updates the topic on the kafka cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"topicId","description":"Topic ID","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.kafka.Topic"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.kafka.Topic"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.kafka.Topic\nresult = client.put(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/topic/{topicId}\",\n\tminInsyncReplicas = None, # Minimum insync replica accepted for this topic (type: integer)\n\tpartitions = None, # Number of partitions for this topic (type: integer)\n\treplication = None, # Number of replication for this topic (type: integer)\n\tretentionBytes = None, # Number of bytes for the retention of the data for this topic (type: integer)\n\tretentionHours = None, # Number of hours for the retention of the data for this topic (type: integer)\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: cloud.project.database.kafka.Topic\n$result = $ovh->put(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/topic/{topicId}\", array(\n\tminInsyncReplicas => null, // Minimum insync replica accepted for this topic (type: integer)\n\tpartitions => null, // Number of partitions for this topic (type: integer)\n\treplication => null, // Number of replication for this topic (type: integer)\n\tretentionBytes => null, // Number of bytes for the retention of the data for this topic (type: integer)\n\tretentionHours => null, // Number of hours for the retention of the data for this topic (type: integer)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafka/topic/update","required":true}]}},"/cloud/project/{serviceName}/database/kafka/{clusterId}/topicAcl":{"get":{"summary":"List topic acls of the kafka","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/topicAcl\")\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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/topicAcl\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafka/topicAcl/get","required":true}],"x-expanded-response":"CloudProjectDatabaseKafkaTopicAcl"},"post":{"summary":"Create a new topic acl on the kafka cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.kafka.TopicAcl"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.kafka.TopicAcl"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.kafka.TopicAcl\nresult = client.post(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/topicAcl\",\n\tpermission = None, # Permission to give to this username on this topic. Permissions values can be retrieved using /cloud/project/{serviceName}/database/kafka/{clusterId}/permissions (type: string)\n\ttopic = None, # Topic affected by this acl (type: string)\n\tusername = None, # Username affected by this acl (type: string)\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: cloud.project.database.kafka.TopicAcl\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/topicAcl\", array(\n\tpermission => null, // Permission to give to this username on this topic. Permissions values can be retrieved using /cloud/project/{serviceName}/database/kafka/{clusterId}/permissions (type: string)\n\ttopic => null, // Topic affected by this acl (type: string)\n\tusername => null, // Username affected by this acl (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafka/topicAcl/create","required":true}]}},"/cloud/project/{serviceName}/database/kafka/{clusterId}/topicAcl/{aclId}":{"delete":{"summary":"Delete a kafka topic acl","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"aclId","description":"Acl ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/topicAcl/{aclId}\")\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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/topicAcl/{aclId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafka/topicAcl/delete","required":true}]},"get":{"summary":"Get kafka topic acls","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"aclId","description":"Acl ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.kafka.TopicAcl"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/topicAcl/{aclId}\")\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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/topicAcl/{aclId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafka/topicAcl/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/database/kafka/{clusterId}/user":{"get":{"summary":"List users of the kafka","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/user\")\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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/user\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafka/user/get","required":true}],"x-expanded-response":"CloudProjectDatabaseServiceUser"},"post":{"summary":"Create a new user on the kafka cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.UserCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.UserWithPassword"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.service.UserCreation\nresult = client.post(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/user\",\n\tname = None, # Name of the user (type: string)\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: cloud.project.database.service.UserCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/user\", array(\n\tname => null, // Name of the user (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafka/user/create","required":true}]}},"/cloud/project/{serviceName}/database/kafka/{clusterId}/user/{userId}":{"delete":{"summary":"Delete a kafka user","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"userId","description":"User ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/user/{userId}\")\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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/user/{userId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafka/user/delete","required":true}]},"get":{"summary":"Get kafka users","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"userId","description":"User ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.User"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/user/{userId}\")\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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/user/{userId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafka/user/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/database/kafka/{clusterId}/user/{userId}/access":{"get":{"summary":"Retrieve the user acces for the cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"userId","description":"User ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.kafka.user.Access"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/user/{userId}/access\")\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(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/user/{userId}/access\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafka/user/access/get","required":true}]}},"/cloud/project/{serviceName}/database/kafka/{clusterId}/user/{userId}/credentials/reset":{"post":{"summary":"Reset the password of a user","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"userId","description":"User ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.UserWithPassword"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/user/{userId}/credentials/reset\")\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->post(\"/cloud/project/{serviceName}/database/kafka/{clusterId}/user/{userId}/credentials/reset\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafka/user/credentials/reset","required":true}]}},"/cloud/project/{serviceName}/database/kafkaConnect":{"get":{"summary":"List all the kafkaConnect of the project","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafkaConnect\")\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(\"/cloud/project/{serviceName}/database/kafkaConnect\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaConnect/get","required":true}],"x-expanded-response":"CloudProjectDatabaseService"},"post":{"summary":"Create a new kafkaConnect cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.ServiceCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.Service"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.ServiceCreation\nresult = client.post(\"/cloud/project/{serviceName}/database/kafkaConnect\",\n\tbackup = None, # Backup from which the new service is created. DEPRECATED: use forkFrom (type: cloud.project.database.service.creation.BackupFork, nullable)\n\tbackupTime = None, # Time on which backups start every day. DEPRECATED: use backups.time (type: time, nullable)\n\tbackups = None, # Information related to the backups, null if the engine does not support backups (type: cloud.project.database.service.Backup, nullable)\n\tdescription = None, # Description of the cluster (type: string)\n\tdisk = None, # Disk attributes of the cluster (type: cloud.project.database.service.Disk)\n\tforkFrom = None, # Backup from which the new service is created (type: cloud.project.database.service.creation.ForkFrom, nullable)\n\tipRestrictions = None, # IP Blocks authorized to access to the cluster (type: array)\n\tmaintenanceTime = None, # Time on which maintenances can start every day (type: time, nullable)\n\tnetworkId = None, # Private network ID in which the cluster is (type: string, nullable)\n\tnodesList = None, # List of nodes in the cluster, not compatible with nodesPattern (type: array, nullable)\n\tnodesPattern = None, # Pattern definition of the nodes in the cluster, not compatible with nodesList (type: cloud.project.database.service.NodePattern, nullable)\n\tplan = None, # Plan of the cluster (type: string)\n\tsubnetId = None, # Private subnet ID in which the cluster is (type: string, nullable)\n\tversion = None, # Version of the engine deployed on the cluster (type: string)\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: cloud.project.database.ServiceCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/kafkaConnect\", array(\n\tbackup => null, // Backup from which the new service is created. DEPRECATED: use forkFrom (type: cloud.project.database.service.creation.BackupFork, nullable)\n\tbackupTime => null, // Time on which backups start every day. DEPRECATED: use backups.time (type: time, nullable)\n\tbackups => null, // Information related to the backups, null if the engine does not support backups (type: cloud.project.database.service.Backup, nullable)\n\tdescription => null, // Description of the cluster (type: string)\n\tdisk => null, // Disk attributes of the cluster (type: cloud.project.database.service.Disk)\n\tforkFrom => null, // Backup from which the new service is created (type: cloud.project.database.service.creation.ForkFrom, nullable)\n\tipRestrictions => null, // IP Blocks authorized to access to the cluster (type: array)\n\tmaintenanceTime => null, // Time on which maintenances can start every day (type: time, nullable)\n\tnetworkId => null, // Private network ID in which the cluster is (type: string, nullable)\n\tnodesList => null, // List of nodes in the cluster, not compatible with nodesPattern (type: array, nullable)\n\tnodesPattern => null, // Pattern definition of the nodes in the cluster, not compatible with nodesList (type: cloud.project.database.service.NodePattern, nullable)\n\tplan => null, // Plan of the cluster (type: string)\n\tsubnetId => null, // Private subnet ID in which the cluster is (type: string, nullable)\n\tversion => null, // Version of the engine deployed on the cluster (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaConnect/create","required":true}]}},"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}":{"delete":{"summary":"Delete a kafkaConnect cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}\")\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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaConnect/delete","required":true}]},"get":{"summary":"Get kafkaConnect cluster properties","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.Service"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}\")\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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaConnect/get","required":true}],"x-response-identifier":"id"},"put":{"summary":"Update an existing kafkaConnect cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.Service"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.Service"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.Service\nresult = client.put(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}\",\n\tbackupTime = None, # Time on which backups start every day. DEPRECATED: use backups.time (type: time)\n\tbackups = None, # Information related to the backups, null if the engine does not support backups (type: cloud.project.database.service.Backup, nullable)\n\tdeletionProtection = None, # Enable deletion protection (type: boolean, nullable)\n\tdescription = None, # Description of the cluster (type: string)\n\tdisk = None, # Disk attributes of the cluster. DEPRECATED: use storage (type: cloud.project.database.service.Disk)\n\tenablePrometheus = None, # Enable Prometheus (type: boolean, nullable)\n\tflavor = None, # The VM flavor used for this cluster (type: string)\n\tipRestrictions = None, # IP Blocks authorized to access to the cluster (type: array)\n\tmaintenanceTime = None, # Time on which maintenances can start every day (type: time)\n\tnetworkId = None, # Private network ID in which the cluster is (type: string, nullable)\n\tnodeNumber = None, # Number of nodes in the cluster. DEPRECATED: use nodes (type: integer)\n\tplan = None, # Plan of the cluster (type: string)\n\tstorage = None, # Storage attributes of the cluster (type: cloud.project.database.service.Storage, nullable)\n\tsubnetId = None, # Private subnet ID in which the cluster is (type: string, nullable)\n\tversion = None, # Version of the engine deployed on the cluster (type: string)\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: cloud.project.database.Service\n$result = $ovh->put(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}\", array(\n\tbackupTime => null, // Time on which backups start every day. DEPRECATED: use backups.time (type: time)\n\tbackups => null, // Information related to the backups, null if the engine does not support backups (type: cloud.project.database.service.Backup, nullable)\n\tdeletionProtection => null, // Enable deletion protection (type: boolean, nullable)\n\tdescription => null, // Description of the cluster (type: string)\n\tdisk => null, // Disk attributes of the cluster. DEPRECATED: use storage (type: cloud.project.database.service.Disk)\n\tenablePrometheus => null, // Enable Prometheus (type: boolean, nullable)\n\tflavor => null, // The VM flavor used for this cluster (type: string)\n\tipRestrictions => null, // IP Blocks authorized to access to the cluster (type: array)\n\tmaintenanceTime => null, // Time on which maintenances can start every day (type: time)\n\tnetworkId => null, // Private network ID in which the cluster is (type: string, nullable)\n\tnodeNumber => null, // Number of nodes in the cluster. DEPRECATED: use nodes (type: integer)\n\tplan => null, // Plan of the cluster (type: string)\n\tstorage => null, // Storage attributes of the cluster (type: cloud.project.database.service.Storage, nullable)\n\tsubnetId => null, // Private subnet ID in which the cluster is (type: string, nullable)\n\tversion => null, // Version of the engine deployed on the cluster (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaConnect/edit","required":true}]}},"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/advancedConfiguration":{"get":{"summary":"Get kafkaConnect advanced configuration","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/advancedConfiguration\")\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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/advancedConfiguration\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaConnect/advancedConfiguration/get","required":true}]},"put":{"summary":"Update kafkaConnect advanced configuration","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: map[string]string\nresult = client.put(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/advancedConfiguration\",\n\tdata = None, # (type: map[string]string)\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: map[string]string\n$result = $ovh->put(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/advancedConfiguration\", array(\n\tdata => null, // (type: map[string]string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaConnect/advancedConfiguration/edit","required":true}]}},"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/capabilities/advancedConfiguration":{"get":{"summary":"Get kafkaConnect advanced configuration fields","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.database.capabilities.advancedConfiguration.Property"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/capabilities/advancedConfiguration\")\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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/capabilities/advancedConfiguration\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaConnect/capabilities/advancedConfiguration/get","required":true}]}},"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/capabilities/backupRegions":{"get":{"summary":"Get backup region capabilities related to the kafkaconnect service","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/capabilities/backupRegions\")\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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/capabilities/backupRegions\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaConnect/capabilities/backupRegions/get","required":true}]}},"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/capabilities/connector":{"get":{"summary":"List Kafka Connect connectors","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/capabilities/connector\")\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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/capabilities/connector\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaConnect/capabilities/connector/get","required":true}],"x-expanded-response":"CloudProjectDatabaseKafkaConnectCapabilitiesConnector"}},"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/capabilities/connector/{connectorId}":{"get":{"summary":"Get Kafka Connect connector capability","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"connectorId","description":"Connector ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.kafkaConnect.capabilities.Connector"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/capabilities/connector/{connectorId}\")\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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/capabilities/connector/{connectorId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaConnect/capabilities/connector/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/capabilities/connector/{connectorId}/configuration":{"get":{"summary":"Get Kafka Connect connector configuration","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"connectorId","description":"Connector ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.database.kafkaConnect.capabilities.connector.configuration.Property"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/capabilities/connector/{connectorId}/configuration\")\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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/capabilities/connector/{connectorId}/configuration\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaConnect/capabilities/connector/configuration/get","required":true}]}},"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/capabilities/connector/{connectorId}/transforms":{"get":{"summary":"Get Kafka Connect connector transforms","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"connectorId","description":"Connector ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.database.kafkaConnect.capabilities.connector.Transform"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/capabilities/connector/{connectorId}/transforms\")\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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/capabilities/connector/{connectorId}/transforms\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaConnect/capabilities/connector/transforms/get","required":true}]}},"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/capabilities/integration":{"get":{"summary":"Get integration capabilities related to the kafkaConnect service","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.database.capabilities.Integration"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/capabilities/integration\")\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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/capabilities/integration\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaConnect/capabilities/integration/get","required":true}]}},"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/connector":{"get":{"summary":"List the connectors","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/connector\")\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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/connector\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaConnect/connector/get","required":true}],"x-expanded-response":"CloudProjectDatabaseKafkaConnectConnector"},"post":{"summary":"Create a new connector","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.kafkaConnect.ConnectorCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.kafkaConnect.Connector"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.kafkaConnect.ConnectorCreation\nresult = client.post(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/connector\",\n\tconfiguration = None, # Configuration of the connector (type: object)\n\tconnectorId = None, # Connector capability ID (type: string)\n\tname = None, # Name of the connector (type: string)\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: cloud.project.database.kafkaConnect.ConnectorCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/connector\", array(\n\tconfiguration => null, // Configuration of the connector (type: object)\n\tconnectorId => null, // Connector capability ID (type: string)\n\tname => null, // Name of the connector (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaConnect/connector/create","required":true}]}},"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/connector/{connectorId}":{"delete":{"summary":"Delete a connector","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"connectorId","description":"Connector ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/connector/{connectorId}\")\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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/connector/{connectorId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaConnect/connector/delete","required":true}]},"get":{"summary":"Get connector","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"connectorId","description":"Connector ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.kafkaConnect.Connector"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/connector/{connectorId}\")\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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/connector/{connectorId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaConnect/connector/get","required":true}],"x-response-identifier":"id"},"put":{"summary":"Update a connector","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"connectorId","description":"Connector ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.kafkaConnect.Connector"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.kafkaConnect.Connector"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.kafkaConnect.Connector\nresult = client.put(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/connector/{connectorId}\",\n\tconfiguration = None, # Configuration of the connector (type: object)\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: cloud.project.database.kafkaConnect.Connector\n$result = $ovh->put(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/connector/{connectorId}\", array(\n\tconfiguration => null, // Configuration of the connector (type: object)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaConnect/connector/edit","required":true}]}},"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/connector/{connectorId}/pause":{"post":{"summary":"Pause the kafka connector execution","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"connectorId","description":"Connector ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/connector/{connectorId}/pause\")\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->post(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/connector/{connectorId}/pause\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaConnect/connector/pause","required":true}]}},"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/connector/{connectorId}/restart":{"post":{"summary":"Restart the kafka connector execution","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"connectorId","description":"Connector ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/connector/{connectorId}/restart\")\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->post(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/connector/{connectorId}/restart\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaConnect/connector/restart","required":true}]}},"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/connector/{connectorId}/resume":{"post":{"summary":"Resume the kafka connector execution","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"connectorId","description":"Connector ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/connector/{connectorId}/resume\")\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->post(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/connector/{connectorId}/resume\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaConnect/connector/resume","required":true}]}},"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/connector/{connectorId}/task":{"get":{"summary":"List the connector tasks","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"connectorId","description":"Connector ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"integer"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/connector/{connectorId}/task\")\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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/connector/{connectorId}/task\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaConnect/connector/task/get","required":true}],"x-expanded-response":"CloudProjectDatabaseKafkaConnectConnectorTask"}},"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/connector/{connectorId}/task/{taskId}":{"get":{"summary":"Get connector task","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"connectorId","description":"Connector ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"taskId","description":"Task ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.kafkaConnect.connector.Task"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/connector/{connectorId}/task/{taskId}\")\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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/connector/{connectorId}/task/{taskId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaConnect/connector/task/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/connector/{connectorId}/task/{taskId}/restart":{"post":{"summary":"Restart the kafka connector task execution","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"connectorId","description":"Connector ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"taskId","description":"Task ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/connector/{connectorId}/task/{taskId}/restart\")\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->post(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/connector/{connectorId}/task/{taskId}/restart\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaConnect/connector/task/restart","required":true}]}},"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/integration":{"get":{"summary":"List integrations","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/integration\")\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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/integration\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaConnect/integration/get","required":true}],"x-expanded-response":"CloudProjectDatabaseServiceIntegration"},"post":{"summary":"Create a new integration","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Integration"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Integration"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.service.Integration\nresult = client.post(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/integration\",\n\tdestinationServiceId = None, # ID of the destination service (type: string)\n\tparameters = None, # Parameters for the integration (type: object, nullable)\n\tsourceServiceId = None, # ID of the source service (type: string)\n\ttype = None, # Type of the integration (type: cloud.project.database.service.integration.TypeEnum)\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: cloud.project.database.service.Integration\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/integration\", array(\n\tdestinationServiceId => null, // ID of the destination service (type: string)\n\tparameters => null, // Parameters for the integration (type: object, nullable)\n\tsourceServiceId => null, // ID of the source service (type: string)\n\ttype => null, // Type of the integration (type: cloud.project.database.service.integration.TypeEnum)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaConnect/integration/create","required":true}]}},"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/integration/{integrationId}":{"delete":{"summary":"Delete an integration","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"integrationId","description":"Integration ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/integration/{integrationId}\")\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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/integration/{integrationId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaConnect/integration/delete","required":true}]},"get":{"summary":"Get an integration","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"integrationId","description":"Integration ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Integration"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/integration/{integrationId}\")\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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/integration/{integrationId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaConnect/integration/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/log/kind":{"get":{"summary":"List available log kinds","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/log/kind\")\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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/log/kind\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaConnect/log/kind/get","required":true}],"x-expanded-response":"DbaasLogsLogKind"}},"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/log/kind/{name}":{"get":{"summary":"Get a log kind","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"name","description":"Name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogKind"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/log/kind/{name}\")\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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/log/kind/{name}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaConnect/log/kind/get","required":true}],"x-response-identifier":"name"}},"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/log/subscription":{"get":{"summary":"List subscription IDs for a cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"query","name":"kind","description":"Filter on a specific kind (e.g., audit)","schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/log/subscription\")\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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/log/subscription\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaConnect/log/subscription/get","required":true}],"x-expanded-response":"DbaasLogsLogSubscription"},"post":{"summary":"Create subscription to log to customer for a kafkaConnect","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscriptionCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscriptionResponse"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: dbaas.logs.LogSubscriptionCreation\nresult = client.post(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/log/subscription\",\n\tkind = None, # Log kind name to subscribe to (type: string)\n\tstreamId = None, # Customer log stream ID (type: string)\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: dbaas.logs.LogSubscriptionCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/log/subscription\", array(\n\tkind => null, // Log kind name to subscribe to (type: string)\n\tstreamId => null, // Customer log stream ID (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaConnect/log/subscription/create","required":true},{"name":"ldp:apiovh:output/graylog/stream/forwardTo","description":"Required on the targeted LDP service","required":true}]}},"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/log/subscription/{subscriptionId}":{"delete":{"summary":"Delete a subscription","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"subscriptionId","description":"Subscription ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscriptionResponse"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/log/subscription/{subscriptionId}\")\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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/log/subscription/{subscriptionId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaConnect/log/subscription/delete","required":true}]},"get":{"summary":"Get subscription details","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"subscriptionId","description":"Subscription ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscription"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/log/subscription/{subscriptionId}\")\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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/log/subscription/{subscriptionId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaConnect/log/subscription/get","required":true}],"x-response-identifier":"subscriptionId"}},"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/log/url":{"post":{"summary":"Generate a temporary URL to retrieve logs","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogUrlCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.TemporaryLogsLink"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: dbaas.logs.LogUrlCreation\nresult = client.post(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/log/url\",\n\tkind = None, # Log kind name (type: string)\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: dbaas.logs.LogUrlCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/log/url\", array(\n\tkind => null, // Log kind name (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaConnect/log/url/create","required":true}]}},"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/logs":{"get":{"summary":"Retrieve the most recent kafkaConnect log messages (limited to 1000)","deprecated":true,"x-deprecation-date":"2026-07-01T00:00:00Z","x-deletion-date":"2027-01-01T00:00:00Z","x-replacement-route":"/1.0/cloud/project/{serviceName}/database/kafkaConnect/{productID}/log/subscription","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.database.service.LogEntry"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"red","label":"Deprecated, will be removed"}],"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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/logs\")\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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/logs\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaConnect/logs/get","required":true}]}},"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/maintenance":{"get":{"summary":"List maintenances for the kafka connect cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/maintenance\")\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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/maintenance\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaConnect/maintenance/get","required":true}],"x-expanded-response":"CloudProjectDatabaseServiceMaintenance"}},"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/maintenance/{maintenanceId}":{"get":{"summary":"Get the maintenance for the kafka connect cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"maintenanceId","description":"Maintenance ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Maintenance"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/maintenance/{maintenanceId}\")\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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/maintenance/{maintenanceId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaConnect/maintenance/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/maintenance/{maintenanceId}/apply":{"post":{"summary":"Apply the maintenance","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"maintenanceId","description":"Maintenance ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Maintenance"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/maintenance/{maintenanceId}/apply\")\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->post(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/maintenance/{maintenanceId}/apply\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaConnect/maintenance/apply","required":true}]}},"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/metric":{"get":{"summary":"List available metrics for the kafkaConnect cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"query","name":"extended","description":"Display DB specific metrics","schema":{"type":"boolean"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/metric\")\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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/metric\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaConnect/metric/get","required":true}],"x-expanded-response":"CloudProjectDatabaseServiceMetric"}},"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/metric/{metricName}":{"get":{"summary":"Get the metric values for the kafkaConnect cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"metricName","description":"Metric name","required":true,"schema":{"type":"string"}},{"in":"query","name":"period","description":"The period of time to query metrics for","required":true,"schema":{"$ref":"#/components/schemas/cloud.project.database.service.MetricPeriodEnum"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Metric"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/metric/{metricName}\")\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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/metric/{metricName}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaConnect/metric/get","required":true}],"x-response-identifier":"name"}},"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/node":{"get":{"summary":"List nodes of the kafkaConnect","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/node\")\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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/node\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaConnect/node/get","required":true}],"x-expanded-response":"CloudProjectDatabaseServiceNode"}},"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/node/{nodeId}":{"get":{"summary":"Get kafkaConnect nodes","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"nodeId","description":"Node ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Node"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/node/{nodeId}\")\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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/node/{nodeId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaConnect/node/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/prometheus":{"get":{"summary":"Get the endpoint for Kafka Connect cluster Prometheus","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.PrometheusEndpoint"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/prometheus\")\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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/prometheus\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaConnect/prometheus/get","required":true}],"x-response-identifier":"username"}},"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/prometheus/credentials/reset":{"post":{"summary":"Reset the password of a Prometheus","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.PrometheusAccess"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/prometheus/credentials/reset\")\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->post(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/prometheus/credentials/reset\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaConnect/prometheus/credentials/reset","required":true}]}},"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/user":{"get":{"summary":"List users of the kafkaConnect","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/user\")\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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/user\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaConnect/user/get","required":true}],"x-expanded-response":"CloudProjectDatabaseServiceUser"},"post":{"summary":"Create a new user on the kafkaConnect cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.UserCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.UserWithPassword"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.service.UserCreation\nresult = client.post(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/user\",\n\tname = None, # Name of the user (type: string)\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: cloud.project.database.service.UserCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/user\", array(\n\tname => null, // Name of the user (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaConnect/user/create","required":true}]}},"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/user/{userId}":{"delete":{"summary":"Delete a kafkaConnect user","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"userId","description":"User ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/user/{userId}\")\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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/user/{userId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaConnect/user/delete","required":true}]},"get":{"summary":"Get kafkaConnect users","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"userId","description":"User ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.User"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/user/{userId}\")\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(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/user/{userId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaConnect/user/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/user/{userId}/credentials/reset":{"post":{"summary":"Reset the password of a user","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"userId","description":"User ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.UserWithPassword"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/user/{userId}/credentials/reset\")\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->post(\"/cloud/project/{serviceName}/database/kafkaConnect/{clusterId}/user/{userId}/credentials/reset\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaConnect/user/credentials/reset","required":true}]}},"/cloud/project/{serviceName}/database/kafkaMirrorMaker":{"get":{"summary":"List all the kafkaMirrorMaker of the project","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker\")\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(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaMirrorMaker/get","required":true}],"x-expanded-response":"CloudProjectDatabaseService"},"post":{"summary":"Create a new kafkaMirrorMaker","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.ServiceCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.Service"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.ServiceCreation\nresult = client.post(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker\",\n\tbackup = None, # Backup from which the new service is created. DEPRECATED: use forkFrom (type: cloud.project.database.service.creation.BackupFork, nullable)\n\tbackupTime = None, # Time on which backups start every day. DEPRECATED: use backups.time (type: time, nullable)\n\tbackups = None, # Information related to the backups, null if the engine does not support backups (type: cloud.project.database.service.Backup, nullable)\n\tdescription = None, # Description of the cluster (type: string)\n\tdisk = None, # Disk attributes of the cluster (type: cloud.project.database.service.Disk)\n\tforkFrom = None, # Backup from which the new service is created (type: cloud.project.database.service.creation.ForkFrom, nullable)\n\tipRestrictions = None, # IP Blocks authorized to access to the cluster (type: array)\n\tmaintenanceTime = None, # Time on which maintenances can start every day (type: time, nullable)\n\tnetworkId = None, # Private network ID in which the cluster is (type: string, nullable)\n\tnodesList = None, # List of nodes in the cluster, not compatible with nodesPattern (type: array, nullable)\n\tnodesPattern = None, # Pattern definition of the nodes in the cluster, not compatible with nodesList (type: cloud.project.database.service.NodePattern, nullable)\n\tplan = None, # Plan of the cluster (type: string)\n\tsubnetId = None, # Private subnet ID in which the cluster is (type: string, nullable)\n\tversion = None, # Version of the engine deployed on the cluster (type: string)\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: cloud.project.database.ServiceCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker\", array(\n\tbackup => null, // Backup from which the new service is created. DEPRECATED: use forkFrom (type: cloud.project.database.service.creation.BackupFork, nullable)\n\tbackupTime => null, // Time on which backups start every day. DEPRECATED: use backups.time (type: time, nullable)\n\tbackups => null, // Information related to the backups, null if the engine does not support backups (type: cloud.project.database.service.Backup, nullable)\n\tdescription => null, // Description of the cluster (type: string)\n\tdisk => null, // Disk attributes of the cluster (type: cloud.project.database.service.Disk)\n\tforkFrom => null, // Backup from which the new service is created (type: cloud.project.database.service.creation.ForkFrom, nullable)\n\tipRestrictions => null, // IP Blocks authorized to access to the cluster (type: array)\n\tmaintenanceTime => null, // Time on which maintenances can start every day (type: time, nullable)\n\tnetworkId => null, // Private network ID in which the cluster is (type: string, nullable)\n\tnodesList => null, // List of nodes in the cluster, not compatible with nodesPattern (type: array, nullable)\n\tnodesPattern => null, // Pattern definition of the nodes in the cluster, not compatible with nodesList (type: cloud.project.database.service.NodePattern, nullable)\n\tplan => null, // Plan of the cluster (type: string)\n\tsubnetId => null, // Private subnet ID in which the cluster is (type: string, nullable)\n\tversion => null, // Version of the engine deployed on the cluster (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaMirrorMaker/create","required":true}]}},"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}":{"delete":{"summary":"Delete a kafkaMirrorMaker","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}\")\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(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaMirrorMaker/delete","required":true}]},"get":{"summary":"Get kafkaMirrorMaker properties","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.Service"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}\")\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(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaMirrorMaker/get","required":true}],"x-response-identifier":"id"},"put":{"summary":"Update an existing kafkaMirrorMaker","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.Service"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.Service"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.Service\nresult = client.put(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}\",\n\tbackupTime = None, # Time on which backups start every day. DEPRECATED: use backups.time (type: time)\n\tbackups = None, # Information related to the backups, null if the engine does not support backups (type: cloud.project.database.service.Backup, nullable)\n\tdeletionProtection = None, # Enable deletion protection (type: boolean, nullable)\n\tdescription = None, # Description of the cluster (type: string)\n\tdisk = None, # Disk attributes of the cluster. DEPRECATED: use storage (type: cloud.project.database.service.Disk)\n\tenablePrometheus = None, # Enable Prometheus (type: boolean, nullable)\n\tflavor = None, # The VM flavor used for this cluster (type: string)\n\tipRestrictions = None, # IP Blocks authorized to access to the cluster (type: array)\n\tmaintenanceTime = None, # Time on which maintenances can start every day (type: time)\n\tnetworkId = None, # Private network ID in which the cluster is (type: string, nullable)\n\tnodeNumber = None, # Number of nodes in the cluster. DEPRECATED: use nodes (type: integer)\n\tplan = None, # Plan of the cluster (type: string)\n\tstorage = None, # Storage attributes of the cluster (type: cloud.project.database.service.Storage, nullable)\n\tsubnetId = None, # Private subnet ID in which the cluster is (type: string, nullable)\n\tversion = None, # Version of the engine deployed on the cluster (type: string)\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: cloud.project.database.Service\n$result = $ovh->put(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}\", array(\n\tbackupTime => null, // Time on which backups start every day. DEPRECATED: use backups.time (type: time)\n\tbackups => null, // Information related to the backups, null if the engine does not support backups (type: cloud.project.database.service.Backup, nullable)\n\tdeletionProtection => null, // Enable deletion protection (type: boolean, nullable)\n\tdescription => null, // Description of the cluster (type: string)\n\tdisk => null, // Disk attributes of the cluster. DEPRECATED: use storage (type: cloud.project.database.service.Disk)\n\tenablePrometheus => null, // Enable Prometheus (type: boolean, nullable)\n\tflavor => null, // The VM flavor used for this cluster (type: string)\n\tipRestrictions => null, // IP Blocks authorized to access to the cluster (type: array)\n\tmaintenanceTime => null, // Time on which maintenances can start every day (type: time)\n\tnetworkId => null, // Private network ID in which the cluster is (type: string, nullable)\n\tnodeNumber => null, // Number of nodes in the cluster. DEPRECATED: use nodes (type: integer)\n\tplan => null, // Plan of the cluster (type: string)\n\tstorage => null, // Storage attributes of the cluster (type: cloud.project.database.service.Storage, nullable)\n\tsubnetId => null, // Private subnet ID in which the cluster is (type: string, nullable)\n\tversion => null, // Version of the engine deployed on the cluster (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaMirrorMaker/edit","required":true}]}},"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/capabilities/integration":{"get":{"summary":"Get integration capabilities related to the kafkaMirrorMaker service","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.database.capabilities.Integration"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/capabilities/integration\")\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(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/capabilities/integration\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaMirrorMaker/capabilities/integration/get","required":true}]}},"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/integration":{"get":{"summary":"List integrations","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/integration\")\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(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/integration\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaMirrorMaker/integration/get","required":true}],"x-expanded-response":"CloudProjectDatabaseServiceIntegration"},"post":{"summary":"Create a new integration","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Integration"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Integration"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.service.Integration\nresult = client.post(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/integration\",\n\tdestinationServiceId = None, # ID of the destination service (type: string)\n\tparameters = None, # Parameters for the integration (type: object, nullable)\n\tsourceServiceId = None, # ID of the source service (type: string)\n\ttype = None, # Type of the integration (type: cloud.project.database.service.integration.TypeEnum)\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: cloud.project.database.service.Integration\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/integration\", array(\n\tdestinationServiceId => null, // ID of the destination service (type: string)\n\tparameters => null, // Parameters for the integration (type: object, nullable)\n\tsourceServiceId => null, // ID of the source service (type: string)\n\ttype => null, // Type of the integration (type: cloud.project.database.service.integration.TypeEnum)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaMirrorMaker/integration/create","required":true}]}},"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/integration/{integrationId}":{"delete":{"summary":"Delete an integration","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"integrationId","description":"Integration ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/integration/{integrationId}\")\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(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/integration/{integrationId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaMirrorMaker/integration/delete","required":true}]},"get":{"summary":"Get an integration","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"integrationId","description":"Integration ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Integration"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/integration/{integrationId}\")\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(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/integration/{integrationId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaMirrorMaker/integration/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/log/kind":{"get":{"summary":"List available log kinds","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/log/kind\")\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(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/log/kind\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaMirrorMaker/log/kind/get","required":true}],"x-expanded-response":"DbaasLogsLogKind"}},"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/log/kind/{name}":{"get":{"summary":"Get a log kind","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"name","description":"Name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogKind"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/log/kind/{name}\")\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(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/log/kind/{name}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaMirrorMaker/log/kind/get","required":true}],"x-response-identifier":"name"}},"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/log/subscription":{"get":{"summary":"List subscription IDs for a cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"query","name":"kind","description":"Filter on a specific kind (e.g., audit)","schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/log/subscription\")\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(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/log/subscription\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaMirrorMaker/log/subscription/get","required":true}],"x-expanded-response":"DbaasLogsLogSubscription"},"post":{"summary":"Create subscription to log to customer for a kafkaMirrorMaker","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscriptionCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscriptionResponse"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: dbaas.logs.LogSubscriptionCreation\nresult = client.post(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/log/subscription\",\n\tkind = None, # Log kind name to subscribe to (type: string)\n\tstreamId = None, # Customer log stream ID (type: string)\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: dbaas.logs.LogSubscriptionCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/log/subscription\", array(\n\tkind => null, // Log kind name to subscribe to (type: string)\n\tstreamId => null, // Customer log stream ID (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaMirrorMaker/log/subscription/create","required":true},{"name":"ldp:apiovh:output/graylog/stream/forwardTo","description":"Required on the targeted LDP service","required":true}]}},"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/log/subscription/{subscriptionId}":{"delete":{"summary":"Delete a subscription","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"subscriptionId","description":"Subscription ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscriptionResponse"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/log/subscription/{subscriptionId}\")\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(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/log/subscription/{subscriptionId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaMirrorMaker/log/subscription/delete","required":true}]},"get":{"summary":"Get subscription details","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"subscriptionId","description":"Subscription ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscription"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/log/subscription/{subscriptionId}\")\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(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/log/subscription/{subscriptionId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaMirrorMaker/log/subscription/get","required":true}],"x-response-identifier":"subscriptionId"}},"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/log/url":{"post":{"summary":"Generate a temporary URL to retrieve logs","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogUrlCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.TemporaryLogsLink"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: dbaas.logs.LogUrlCreation\nresult = client.post(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/log/url\",\n\tkind = None, # Log kind name (type: string)\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: dbaas.logs.LogUrlCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/log/url\", array(\n\tkind => null, // Log kind name (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaMirrorMaker/log/url/create","required":true}]}},"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/logs":{"get":{"summary":"Retrieve the most recent kafkaMirrorMaker log messages (limited to 1000)","deprecated":true,"x-deprecation-date":"2026-07-01T00:00:00Z","x-deletion-date":"2027-01-01T00:00:00Z","x-replacement-route":"/1.0/cloud/project/{serviceName}/database/kafkaMirrorMaker/{productID}/log/subscription","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.database.service.LogEntry"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"red","label":"Deprecated, will be removed"}],"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(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/logs\")\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(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/logs\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaMirrorMaker/logs/get","required":true}]}},"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/maintenance":{"get":{"summary":"List maintenances for the kafka mirror maker cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/maintenance\")\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(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/maintenance\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaMirrorMaker/maintenance/get","required":true}],"x-expanded-response":"CloudProjectDatabaseServiceMaintenance"}},"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/maintenance/{maintenanceId}":{"get":{"summary":"Get the maintenance for the kafka mirror maker cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"maintenanceId","description":"Maintenance ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Maintenance"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/maintenance/{maintenanceId}\")\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(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/maintenance/{maintenanceId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaMirrorMaker/maintenance/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/maintenance/{maintenanceId}/apply":{"post":{"summary":"Apply the maintenance","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"maintenanceId","description":"Maintenance ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Maintenance"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/maintenance/{maintenanceId}/apply\")\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->post(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/maintenance/{maintenanceId}/apply\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaMirrorMaker/maintenance/apply","required":true}]}},"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/metric":{"get":{"summary":"List available metrics for the kafkaMirrorMaker","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"query","name":"extended","description":"Display DB specific metrics","schema":{"type":"boolean"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/metric\")\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(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/metric\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaMirrorMaker/metric/get","required":true}],"x-expanded-response":"CloudProjectDatabaseServiceMetric"}},"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/metric/{metricName}":{"get":{"summary":"Get the metric values for the kafkaMirrorMaker","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"metricName","description":"Metric name","required":true,"schema":{"type":"string"}},{"in":"query","name":"period","description":"The period of time to query metrics for","required":true,"schema":{"$ref":"#/components/schemas/cloud.project.database.service.MetricPeriodEnum"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Metric"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/metric/{metricName}\")\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(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/metric/{metricName}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaMirrorMaker/metric/get","required":true}],"x-response-identifier":"name"}},"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/node":{"get":{"summary":"List nodes of the kafkaMirrorMaker","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/node\")\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(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/node\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaMirrorMaker/node/get","required":true}],"x-expanded-response":"CloudProjectDatabaseServiceNode"}},"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/node/{nodeId}":{"get":{"summary":"Get kafkaMirrorMaker nodes","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"nodeId","description":"Node ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Node"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/node/{nodeId}\")\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(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/node/{nodeId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaMirrorMaker/node/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/prometheus":{"get":{"summary":"Get the endpoint for Kafka Mirror Maker cluster Prometheus","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.PrometheusEndpoint"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/prometheus\")\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(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/prometheus\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaMirrorMaker/prometheus/get","required":true}],"x-response-identifier":"username"}},"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/prometheus/credentials/reset":{"post":{"summary":"Reset the password of a Prometheus","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.PrometheusAccess"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/prometheus/credentials/reset\")\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->post(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/prometheus/credentials/reset\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaMirrorMaker/prometheus/credentials/reset","required":true}]}},"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/replication":{"get":{"summary":"List replication of the kafkaMirrorMaker","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/replication\")\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(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/replication\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaMirrorMaker/replication/get","required":true}],"x-expanded-response":"CloudProjectDatabaseServiceReplication"},"post":{"summary":"Create a new replication","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.ReplicationCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Replication"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.service.ReplicationCreation\nresult = client.post(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/replication\",\n\temitHeartbeats = None, # Defines whether heartbeats are emitted (type: boolean)\n\tenabled = None, # Defines whether the replication is actived (type: boolean)\n\treplicationPolicyClass = None, # ReplicationPolicyClass used for the replication (type: cloud.project.database.service.replication.PolicyClassEnum)\n\tsourceIntegration = None, # ID of the integration source (type: string)\n\tsyncGroupOffsets = None, # Defines whether the group offsets must be sync (type: boolean)\n\tsyncInterval = None, # Defines the interval in second between 2 sync (type: integer)\n\ttargetIntegration = None, # ID of the integration target (type: string)\n\ttopicExcludeList = None, # Patterns of the topics to exclude from the replication (type: array)\n\ttopics = None, # Patterns of the topics to replicate (type: array)\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: cloud.project.database.service.ReplicationCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/replication\", array(\n\temitHeartbeats => null, // Defines whether heartbeats are emitted (type: boolean)\n\tenabled => null, // Defines whether the replication is actived (type: boolean)\n\treplicationPolicyClass => null, // ReplicationPolicyClass used for the replication (type: cloud.project.database.service.replication.PolicyClassEnum)\n\tsourceIntegration => null, // ID of the integration source (type: string)\n\tsyncGroupOffsets => null, // Defines whether the group offsets must be sync (type: boolean)\n\tsyncInterval => null, // Defines the interval in second between 2 sync (type: integer)\n\ttargetIntegration => null, // ID of the integration target (type: string)\n\ttopicExcludeList => null, // Patterns of the topics to exclude from the replication (type: array)\n\ttopics => null, // Patterns of the topics to replicate (type: array)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaMirrorMaker/replication/create","required":true}]}},"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/replication/{replicationId}":{"delete":{"summary":"Delete an replication","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"replicationId","description":"Replication ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/replication/{replicationId}\")\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(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/replication/{replicationId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaMirrorMaker/replication/delete","required":true}]},"get":{"summary":"Get kafkaMirrorMaker replication","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"replicationId","description":"Replication ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Replication"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/replication/{replicationId}\")\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(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/replication/{replicationId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaMirrorMaker/replication/get","required":true}],"x-response-identifier":"id"},"put":{"summary":"Updates a replication","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"replicationId","description":"Replication ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Replication"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Replication"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.service.Replication\nresult = client.put(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/replication/{replicationId}\",\n\temitHeartbeats = None, # Defines whether heartbeats are emitted (type: boolean)\n\tenabled = None, # Defines whether the replication is actived (type: boolean)\n\treplicationPolicyClass = None, # ReplicationPolicyClass used for the replication (type: cloud.project.database.service.replication.PolicyClassEnum)\n\tsyncGroupOffsets = None, # Defines whether the group offsets must be sync (type: boolean)\n\tsyncInterval = None, # Defines the interval in second between 2 sync (type: integer)\n\ttopicExcludeList = None, # Patterns of the topics to exclude from the replication (type: array)\n\ttopics = None, # Patterns of the topics to replicate (type: array)\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: cloud.project.database.service.Replication\n$result = $ovh->put(\"/cloud/project/{serviceName}/database/kafkaMirrorMaker/{clusterId}/replication/{replicationId}\", array(\n\temitHeartbeats => null, // Defines whether heartbeats are emitted (type: boolean)\n\tenabled => null, // Defines whether the replication is actived (type: boolean)\n\treplicationPolicyClass => null, // ReplicationPolicyClass used for the replication (type: cloud.project.database.service.replication.PolicyClassEnum)\n\tsyncGroupOffsets => null, // Defines whether the group offsets must be sync (type: boolean)\n\tsyncInterval => null, // Defines the interval in second between 2 sync (type: integer)\n\ttopicExcludeList => null, // Patterns of the topics to exclude from the replication (type: array)\n\ttopics => null, // Patterns of the topics to replicate (type: array)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/kafkaMirrorMaker/replication/edit","required":true}]}},"/cloud/project/{serviceName}/database/mongodb":{"get":{"summary":"List mongodbs of the project","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/mongodb\")\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(\"/cloud/project/{serviceName}/database/mongodb\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mongodb/get","required":true}],"x-expanded-response":"CloudProjectDatabaseService"},"post":{"summary":"Create a new mongodb cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.ServiceCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.Service"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.ServiceCreation\nresult = client.post(\"/cloud/project/{serviceName}/database/mongodb\",\n\tbackup = None, # Backup from which the new service is created. DEPRECATED: use forkFrom (type: cloud.project.database.service.creation.BackupFork, nullable)\n\tbackupTime = None, # Time on which backups start every day. DEPRECATED: use backups.time (type: time, nullable)\n\tbackups = None, # Information related to the backups, null if the engine does not support backups (type: cloud.project.database.service.Backup, nullable)\n\tdescription = None, # Description of the cluster (type: string)\n\tdisk = None, # Disk attributes of the cluster (type: cloud.project.database.service.Disk)\n\tforkFrom = None, # Backup from which the new service is created (type: cloud.project.database.service.creation.ForkFrom, nullable)\n\tipRestrictions = None, # IP Blocks authorized to access to the cluster (type: array)\n\tmaintenanceTime = None, # Time on which maintenances can start every day (type: time, nullable)\n\tnetworkId = None, # Private network ID in which the cluster is (type: string, nullable)\n\tnodesList = None, # List of nodes in the cluster, not compatible with nodesPattern (type: array, nullable)\n\tnodesPattern = None, # Pattern definition of the nodes in the cluster, not compatible with nodesList (type: cloud.project.database.service.NodePattern, nullable)\n\tplan = None, # Plan of the cluster (type: string)\n\tsubnetId = None, # Private subnet ID in which the cluster is (type: string, nullable)\n\tversion = None, # Version of the engine deployed on the cluster (type: string)\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: cloud.project.database.ServiceCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/mongodb\", array(\n\tbackup => null, // Backup from which the new service is created. DEPRECATED: use forkFrom (type: cloud.project.database.service.creation.BackupFork, nullable)\n\tbackupTime => null, // Time on which backups start every day. DEPRECATED: use backups.time (type: time, nullable)\n\tbackups => null, // Information related to the backups, null if the engine does not support backups (type: cloud.project.database.service.Backup, nullable)\n\tdescription => null, // Description of the cluster (type: string)\n\tdisk => null, // Disk attributes of the cluster (type: cloud.project.database.service.Disk)\n\tforkFrom => null, // Backup from which the new service is created (type: cloud.project.database.service.creation.ForkFrom, nullable)\n\tipRestrictions => null, // IP Blocks authorized to access to the cluster (type: array)\n\tmaintenanceTime => null, // Time on which maintenances can start every day (type: time, nullable)\n\tnetworkId => null, // Private network ID in which the cluster is (type: string, nullable)\n\tnodesList => null, // List of nodes in the cluster, not compatible with nodesPattern (type: array, nullable)\n\tnodesPattern => null, // Pattern definition of the nodes in the cluster, not compatible with nodesList (type: cloud.project.database.service.NodePattern, nullable)\n\tplan => null, // Plan of the cluster (type: string)\n\tsubnetId => null, // Private subnet ID in which the cluster is (type: string, nullable)\n\tversion => null, // Version of the engine deployed on the cluster (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mongodb/create","required":true}]}},"/cloud/project/{serviceName}/database/mongodb/{clusterId}":{"delete":{"summary":"Delete a mongodb cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}\")\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(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mongodb/delete","required":true}]},"get":{"summary":"Get mongodb cluster properties","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.Service"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}\")\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(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mongodb/get","required":true}],"x-response-identifier":"id"},"put":{"summary":"Update an existing mongodb cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.Service"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.Service"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.Service\nresult = client.put(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}\",\n\tbackupTime = None, # Time on which backups start every day. DEPRECATED: use backups.time (type: time)\n\tbackups = None, # Information related to the backups, null if the engine does not support backups (type: cloud.project.database.service.Backup, nullable)\n\tdeletionProtection = None, # Enable deletion protection (type: boolean, nullable)\n\tdescription = None, # Description of the cluster (type: string)\n\tdisk = None, # Disk attributes of the cluster. DEPRECATED: use storage (type: cloud.project.database.service.Disk)\n\tenablePrometheus = None, # Enable Prometheus (type: boolean, nullable)\n\tflavor = None, # The VM flavor used for this cluster (type: string)\n\tipRestrictions = None, # IP Blocks authorized to access to the cluster (type: array)\n\tmaintenanceTime = None, # Time on which maintenances can start every day (type: time)\n\tnetworkId = None, # Private network ID in which the cluster is (type: string, nullable)\n\tnodeNumber = None, # Number of nodes in the cluster. DEPRECATED: use nodes (type: integer)\n\tplan = None, # Plan of the cluster (type: string)\n\tstorage = None, # Storage attributes of the cluster (type: cloud.project.database.service.Storage, nullable)\n\tsubnetId = None, # Private subnet ID in which the cluster is (type: string, nullable)\n\tversion = None, # Version of the engine deployed on the cluster (type: string)\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: cloud.project.database.Service\n$result = $ovh->put(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}\", array(\n\tbackupTime => null, // Time on which backups start every day. DEPRECATED: use backups.time (type: time)\n\tbackups => null, // Information related to the backups, null if the engine does not support backups (type: cloud.project.database.service.Backup, nullable)\n\tdeletionProtection => null, // Enable deletion protection (type: boolean, nullable)\n\tdescription => null, // Description of the cluster (type: string)\n\tdisk => null, // Disk attributes of the cluster. DEPRECATED: use storage (type: cloud.project.database.service.Disk)\n\tenablePrometheus => null, // Enable Prometheus (type: boolean, nullable)\n\tflavor => null, // The VM flavor used for this cluster (type: string)\n\tipRestrictions => null, // IP Blocks authorized to access to the cluster (type: array)\n\tmaintenanceTime => null, // Time on which maintenances can start every day (type: time)\n\tnetworkId => null, // Private network ID in which the cluster is (type: string, nullable)\n\tnodeNumber => null, // Number of nodes in the cluster. DEPRECATED: use nodes (type: integer)\n\tplan => null, // Plan of the cluster (type: string)\n\tstorage => null, // Storage attributes of the cluster (type: cloud.project.database.service.Storage, nullable)\n\tsubnetId => null, // Private subnet ID in which the cluster is (type: string, nullable)\n\tversion => null, // Version of the engine deployed on the cluster (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mongodb/edit","required":true}]}},"/cloud/project/{serviceName}/database/mongodb/{clusterId}/backup":{"get":{"summary":"List backups of the mongodb","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/backup\")\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(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/backup\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mongodb/backup/get","required":true}],"x-expanded-response":"CloudProjectDatabaseBackup"}},"/cloud/project/{serviceName}/database/mongodb/{clusterId}/backup/{backupId}":{"get":{"summary":"Get mongodb backups","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"backupId","description":"Backup ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.Backup"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/backup/{backupId}\")\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(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/backup/{backupId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mongodb/backup/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/database/mongodb/{clusterId}/backup/{backupId}/restore":{"post":{"summary":"Restore the backup","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"backupId","description":"Backup ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.Backup"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/backup/{backupId}/restore\")\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->post(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/backup/{backupId}/restore\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mongodb/backup/restore","required":true}]}},"/cloud/project/{serviceName}/database/mongodb/{clusterId}/log/kind":{"get":{"summary":"List available log kinds","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/log/kind\")\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(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/log/kind\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mongodb/log/kind/get","required":true}],"x-expanded-response":"DbaasLogsLogKind"}},"/cloud/project/{serviceName}/database/mongodb/{clusterId}/log/kind/{name}":{"get":{"summary":"Get a log kind","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"name","description":"Name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogKind"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/log/kind/{name}\")\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(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/log/kind/{name}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mongodb/log/kind/get","required":true}],"x-response-identifier":"name"}},"/cloud/project/{serviceName}/database/mongodb/{clusterId}/log/subscription":{"get":{"summary":"List subscription IDs for a cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"query","name":"kind","description":"Filter on a specific kind (e.g., audit)","schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/log/subscription\")\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(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/log/subscription\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mongodb/log/subscription/get","required":true}],"x-expanded-response":"DbaasLogsLogSubscription"},"post":{"summary":"Create subscription to log to customer for a mongodb","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscriptionCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscriptionResponse"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: dbaas.logs.LogSubscriptionCreation\nresult = client.post(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/log/subscription\",\n\tkind = None, # Log kind name to subscribe to (type: string)\n\tstreamId = None, # Customer log stream ID (type: string)\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: dbaas.logs.LogSubscriptionCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/log/subscription\", array(\n\tkind => null, // Log kind name to subscribe to (type: string)\n\tstreamId => null, // Customer log stream ID (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mongodb/log/subscription/create","required":true},{"name":"ldp:apiovh:output/graylog/stream/forwardTo","description":"Required on the targeted LDP service","required":true}]}},"/cloud/project/{serviceName}/database/mongodb/{clusterId}/log/subscription/{subscriptionId}":{"delete":{"summary":"Delete a subscription","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"subscriptionId","description":"Subscription ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscriptionResponse"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/log/subscription/{subscriptionId}\")\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(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/log/subscription/{subscriptionId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mongodb/log/subscription/delete","required":true}]},"get":{"summary":"Get subscription details","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"subscriptionId","description":"Subscription ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscription"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/log/subscription/{subscriptionId}\")\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(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/log/subscription/{subscriptionId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mongodb/log/subscription/get","required":true}],"x-response-identifier":"subscriptionId"}},"/cloud/project/{serviceName}/database/mongodb/{clusterId}/log/url":{"post":{"summary":"Generate a temporary URL to retrieve logs","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogUrlCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.TemporaryLogsLink"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: dbaas.logs.LogUrlCreation\nresult = client.post(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/log/url\",\n\tkind = None, # Log kind name (type: string)\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: dbaas.logs.LogUrlCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/log/url\", array(\n\tkind => null, // Log kind name (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mongodb/log/url/create","required":true}]}},"/cloud/project/{serviceName}/database/mongodb/{clusterId}/logs":{"get":{"summary":"Retrieve the most recent mongoDB log messages (limited to 1000)","deprecated":true,"x-deprecation-date":"2026-07-01T00:00:00Z","x-deletion-date":"2027-01-01T00:00:00Z","x-replacement-route":"/1.0/cloud/project/{serviceName}/database/mongodb/{productID}/log/subscription","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.database.service.LogEntry"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"red","label":"Deprecated, will be removed"}],"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(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/logs\")\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(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/logs\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mongodb/logs/get","required":true}]}},"/cloud/project/{serviceName}/database/mongodb/{clusterId}/maintenance":{"get":{"summary":"List maintenances for the mongodb cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/maintenance\")\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(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/maintenance\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mongodb/maintenance/get","required":true}],"x-expanded-response":"CloudProjectDatabaseServiceMaintenance"}},"/cloud/project/{serviceName}/database/mongodb/{clusterId}/maintenance/{maintenanceId}":{"get":{"summary":"Get the maintenance for the mongodb cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"maintenanceId","description":"Maintenance ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Maintenance"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/maintenance/{maintenanceId}\")\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(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/maintenance/{maintenanceId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mongodb/maintenance/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/database/mongodb/{clusterId}/maintenance/{maintenanceId}/apply":{"post":{"summary":"Apply the maintenance","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"maintenanceId","description":"Maintenance ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Maintenance"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/maintenance/{maintenanceId}/apply\")\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->post(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/maintenance/{maintenanceId}/apply\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mongodb/maintenance/apply","required":true}]}},"/cloud/project/{serviceName}/database/mongodb/{clusterId}/metric":{"get":{"summary":"List available metrics for the mongodb cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"query","name":"extended","description":"Display DB specific metrics","schema":{"type":"boolean"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/metric\")\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(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/metric\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mongodb/metric/get","required":true}],"x-expanded-response":"CloudProjectDatabaseServiceMetric"}},"/cloud/project/{serviceName}/database/mongodb/{clusterId}/metric/{metricName}":{"get":{"summary":"Get the metric values for the mongodb cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"metricName","description":"Metric name","required":true,"schema":{"type":"string"}},{"in":"query","name":"period","description":"The period of time to query metrics for","required":true,"schema":{"$ref":"#/components/schemas/cloud.project.database.service.MetricPeriodEnum"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Metric"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/metric/{metricName}\")\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(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/metric/{metricName}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mongodb/metric/get","required":true}],"x-response-identifier":"name"}},"/cloud/project/{serviceName}/database/mongodb/{clusterId}/node":{"get":{"summary":"List nodes of the mongodb","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/node\")\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(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/node\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mongodb/node/get","required":true}],"x-expanded-response":"CloudProjectDatabaseServiceNode"},"post":{"summary":"Create a new node on the mongodb cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.NodeCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Node"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.service.NodeCreation\nresult = client.post(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/node\",\n\tflavor = None, # Flavor of the node (type: string)\n\tregion = None, # Region of the node (type: string)\n\trole = None, # Role of the node (type: cloud.project.database.service.node.RoleEnum, nullable)\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: cloud.project.database.service.NodeCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/node\", array(\n\tflavor => null, // Flavor of the node (type: string)\n\tregion => null, // Region of the node (type: string)\n\trole => null, // Role of the node (type: cloud.project.database.service.node.RoleEnum, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mongodb/node/create","required":true}]}},"/cloud/project/{serviceName}/database/mongodb/{clusterId}/node/{nodeId}":{"delete":{"summary":"Delete a mongodb cluster's node","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"nodeId","description":"Node ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/node/{nodeId}\")\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(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/node/{nodeId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mongodb/node/delete","required":true}]},"get":{"summary":"Get mongodb nodes","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"nodeId","description":"Node ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Node"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/node/{nodeId}\")\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(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/node/{nodeId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mongodb/node/get","required":true}],"x-response-identifier":"id"},"put":{"summary":"Modify mongodb nodes","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"nodeId","description":"Node ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Node"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Node"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.service.Node\nresult = client.put(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/node/{nodeId}\",\n\trole = None, # Role of the node (type: cloud.project.database.service.node.RoleEnum, nullable)\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: cloud.project.database.service.Node\n$result = $ovh->put(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/node/{nodeId}\", array(\n\trole => null, // Role of the node (type: cloud.project.database.service.node.RoleEnum, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mongodb/node/edit","required":true}]}},"/cloud/project/{serviceName}/database/mongodb/{clusterId}/prometheus":{"get":{"summary":"Get the endpoint for MongoDB cluster Prometheus","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.mongodb.PrometheusEndpoint"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/prometheus\")\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(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/prometheus\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mongodb/prometheus/get","required":true}],"x-response-identifier":"username"}},"/cloud/project/{serviceName}/database/mongodb/{clusterId}/prometheus/credentials/reset":{"post":{"summary":"Reset the password of a Prometheus","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.PrometheusAccess"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/prometheus/credentials/reset\")\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->post(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/prometheus/credentials/reset\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mongodb/prometheus/credentials/reset","required":true}]}},"/cloud/project/{serviceName}/database/mongodb/{clusterId}/restore":{"post":{"summary":"Initiate a restore","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Restore"}}}},"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.service.Restore\nresult = client.post(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/restore\",\n\tpointInTime = None, # point in time to restore from (type: string)\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: cloud.project.database.service.Restore\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/restore\", array(\n\tpointInTime => null, // point in time to restore from (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mongodb/restore","required":true}]}},"/cloud/project/{serviceName}/database/mongodb/{clusterId}/roles":{"get":{"summary":"Get mongodb roles","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"query","name":"advanced","description":"Adds the advanced roles to the list of the roles","schema":{"type":"boolean"}},{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/roles\")\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(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/roles\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mongodb/roles/get","required":true}]}},"/cloud/project/{serviceName}/database/mongodb/{clusterId}/unshelve":{"post":{"summary":"Reactivate a shelved MongoDB cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.Service"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/unshelve\")\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->post(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/unshelve\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mongodb/unshelve","required":true}]}},"/cloud/project/{serviceName}/database/mongodb/{clusterId}/user":{"get":{"summary":"List users of the mongodb","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/user\")\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(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/user\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mongodb/user/get","required":true}],"x-expanded-response":"CloudProjectDatabaseServiceUserWithRoles"},"post":{"summary":"Create a new user on the mongodb cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.UserWithRolesCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.UserWithPasswordAndRoles"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.service.UserWithRolesCreation\nresult = client.post(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/user\",\n\tname = None, # Name of the user (type: string)\n\troles = None, # Roles the user belongs to (type: array)\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: cloud.project.database.service.UserWithRolesCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/user\", array(\n\tname => null, // Name of the user (type: string)\n\troles => null, // Roles the user belongs to (type: array)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mongodb/user/create","required":true}]}},"/cloud/project/{serviceName}/database/mongodb/{clusterId}/user/{userId}":{"delete":{"summary":"Delete a mongodb user","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"userId","description":"User ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/user/{userId}\")\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(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/user/{userId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mongodb/user/delete","required":true}]},"get":{"summary":"Get mongodb users","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"userId","description":"User ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.UserWithRoles"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/user/{userId}\")\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(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/user/{userId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mongodb/user/get","required":true}],"x-response-identifier":"id"},"put":{"summary":"Updates the user on the mongodb cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"userId","description":"User ID","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.UserWithPasswordAndRoles"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.UserWithRoles"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.service.UserWithPasswordAndRoles\nresult = client.put(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/user/{userId}\",\n\tpassword = None, # Password of the user (type: string)\n\troles = None, # Roles the user belongs to (type: array)\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: cloud.project.database.service.UserWithPasswordAndRoles\n$result = $ovh->put(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/user/{userId}\", array(\n\tpassword => null, // Password of the user (type: string)\n\troles => null, // Roles the user belongs to (type: array)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mongodb/user/edit","required":true}]}},"/cloud/project/{serviceName}/database/mongodb/{clusterId}/user/{userId}/credentials/reset":{"post":{"summary":"Reset the password of a user","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"userId","description":"User ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.UserWithPasswordAndRoles"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/user/{userId}/credentials/reset\")\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->post(\"/cloud/project/{serviceName}/database/mongodb/{clusterId}/user/{userId}/credentials/reset\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mongodb/user/credentials/reset","required":true}]}},"/cloud/project/{serviceName}/database/mysql":{"get":{"summary":"List all the MySQL of the project","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/mysql\")\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(\"/cloud/project/{serviceName}/database/mysql\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mysql/get","required":true}],"x-expanded-response":"CloudProjectDatabaseService"},"post":{"summary":"Create a new MySQL cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.ServiceCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.Service"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.ServiceCreation\nresult = client.post(\"/cloud/project/{serviceName}/database/mysql\",\n\tbackup = None, # Backup from which the new service is created. DEPRECATED: use forkFrom (type: cloud.project.database.service.creation.BackupFork, nullable)\n\tbackupTime = None, # Time on which backups start every day. DEPRECATED: use backups.time (type: time, nullable)\n\tbackups = None, # Information related to the backups, null if the engine does not support backups (type: cloud.project.database.service.Backup, nullable)\n\tdescription = None, # Description of the cluster (type: string)\n\tdisk = None, # Disk attributes of the cluster (type: cloud.project.database.service.Disk)\n\tforkFrom = None, # Backup from which the new service is created (type: cloud.project.database.service.creation.ForkFrom, nullable)\n\tipRestrictions = None, # IP Blocks authorized to access to the cluster (type: array)\n\tmaintenanceTime = None, # Time on which maintenances can start every day (type: time, nullable)\n\tnetworkId = None, # Private network ID in which the cluster is (type: string, nullable)\n\tnodesList = None, # List of nodes in the cluster, not compatible with nodesPattern (type: array, nullable)\n\tnodesPattern = None, # Pattern definition of the nodes in the cluster, not compatible with nodesList (type: cloud.project.database.service.NodePattern, nullable)\n\tplan = None, # Plan of the cluster (type: string)\n\tsubnetId = None, # Private subnet ID in which the cluster is (type: string, nullable)\n\tversion = None, # Version of the engine deployed on the cluster (type: string)\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: cloud.project.database.ServiceCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/mysql\", array(\n\tbackup => null, // Backup from which the new service is created. DEPRECATED: use forkFrom (type: cloud.project.database.service.creation.BackupFork, nullable)\n\tbackupTime => null, // Time on which backups start every day. DEPRECATED: use backups.time (type: time, nullable)\n\tbackups => null, // Information related to the backups, null if the engine does not support backups (type: cloud.project.database.service.Backup, nullable)\n\tdescription => null, // Description of the cluster (type: string)\n\tdisk => null, // Disk attributes of the cluster (type: cloud.project.database.service.Disk)\n\tforkFrom => null, // Backup from which the new service is created (type: cloud.project.database.service.creation.ForkFrom, nullable)\n\tipRestrictions => null, // IP Blocks authorized to access to the cluster (type: array)\n\tmaintenanceTime => null, // Time on which maintenances can start every day (type: time, nullable)\n\tnetworkId => null, // Private network ID in which the cluster is (type: string, nullable)\n\tnodesList => null, // List of nodes in the cluster, not compatible with nodesPattern (type: array, nullable)\n\tnodesPattern => null, // Pattern definition of the nodes in the cluster, not compatible with nodesList (type: cloud.project.database.service.NodePattern, nullable)\n\tplan => null, // Plan of the cluster (type: string)\n\tsubnetId => null, // Private subnet ID in which the cluster is (type: string, nullable)\n\tversion => null, // Version of the engine deployed on the cluster (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mysql/create","required":true}]}},"/cloud/project/{serviceName}/database/mysql/{clusterId}":{"delete":{"summary":"Delete a MySQL cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}\")\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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mysql/delete","required":true}]},"get":{"summary":"Get MySQL cluster properties","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.Service"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}\")\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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mysql/get","required":true}],"x-response-identifier":"id"},"put":{"summary":"Update an existing mysql cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.Service"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.Service"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.Service\nresult = client.put(\"/cloud/project/{serviceName}/database/mysql/{clusterId}\",\n\tbackupTime = None, # Time on which backups start every day. DEPRECATED: use backups.time (type: time)\n\tbackups = None, # Information related to the backups, null if the engine does not support backups (type: cloud.project.database.service.Backup, nullable)\n\tdeletionProtection = None, # Enable deletion protection (type: boolean, nullable)\n\tdescription = None, # Description of the cluster (type: string)\n\tdisk = None, # Disk attributes of the cluster. DEPRECATED: use storage (type: cloud.project.database.service.Disk)\n\tenablePrometheus = None, # Enable Prometheus (type: boolean, nullable)\n\tflavor = None, # The VM flavor used for this cluster (type: string)\n\tipRestrictions = None, # IP Blocks authorized to access to the cluster (type: array)\n\tmaintenanceTime = None, # Time on which maintenances can start every day (type: time)\n\tnetworkId = None, # Private network ID in which the cluster is (type: string, nullable)\n\tnodeNumber = None, # Number of nodes in the cluster. DEPRECATED: use nodes (type: integer)\n\tplan = None, # Plan of the cluster (type: string)\n\tstorage = None, # Storage attributes of the cluster (type: cloud.project.database.service.Storage, nullable)\n\tsubnetId = None, # Private subnet ID in which the cluster is (type: string, nullable)\n\tversion = None, # Version of the engine deployed on the cluster (type: string)\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: cloud.project.database.Service\n$result = $ovh->put(\"/cloud/project/{serviceName}/database/mysql/{clusterId}\", array(\n\tbackupTime => null, // Time on which backups start every day. DEPRECATED: use backups.time (type: time)\n\tbackups => null, // Information related to the backups, null if the engine does not support backups (type: cloud.project.database.service.Backup, nullable)\n\tdeletionProtection => null, // Enable deletion protection (type: boolean, nullable)\n\tdescription => null, // Description of the cluster (type: string)\n\tdisk => null, // Disk attributes of the cluster. DEPRECATED: use storage (type: cloud.project.database.service.Disk)\n\tenablePrometheus => null, // Enable Prometheus (type: boolean, nullable)\n\tflavor => null, // The VM flavor used for this cluster (type: string)\n\tipRestrictions => null, // IP Blocks authorized to access to the cluster (type: array)\n\tmaintenanceTime => null, // Time on which maintenances can start every day (type: time)\n\tnetworkId => null, // Private network ID in which the cluster is (type: string, nullable)\n\tnodeNumber => null, // Number of nodes in the cluster. DEPRECATED: use nodes (type: integer)\n\tplan => null, // Plan of the cluster (type: string)\n\tstorage => null, // Storage attributes of the cluster (type: cloud.project.database.service.Storage, nullable)\n\tsubnetId => null, // Private subnet ID in which the cluster is (type: string, nullable)\n\tversion => null, // Version of the engine deployed on the cluster (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mysql/edit","required":true}]}},"/cloud/project/{serviceName}/database/mysql/{clusterId}/advancedConfiguration":{"get":{"summary":"Get MySQL advanced configuration","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/advancedConfiguration\")\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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/advancedConfiguration\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mysql/advancedConfiguration/get","required":true}]},"put":{"summary":"Update MySQL advanced configuration","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: map[string]string\nresult = client.put(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/advancedConfiguration\",\n\tdata = None, # (type: map[string]string)\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: map[string]string\n$result = $ovh->put(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/advancedConfiguration\", array(\n\tdata => null, // (type: map[string]string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mysql/advancedConfiguration/edit","required":true}]}},"/cloud/project/{serviceName}/database/mysql/{clusterId}/backup":{"get":{"summary":"List backups of the MySQL","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/backup\")\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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/backup\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mysql/backup/get","required":true}],"x-expanded-response":"CloudProjectDatabaseBackup"}},"/cloud/project/{serviceName}/database/mysql/{clusterId}/backup/{backupId}":{"get":{"summary":"Get MySQL backups","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"backupId","description":"Backup ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.Backup"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/backup/{backupId}\")\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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/backup/{backupId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mysql/backup/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/database/mysql/{clusterId}/capabilities/advancedConfiguration":{"get":{"summary":"Get MySQL advanced configuration fields","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.database.capabilities.advancedConfiguration.Property"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/capabilities/advancedConfiguration\")\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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/capabilities/advancedConfiguration\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mysql/capabilities/advancedConfiguration/get","required":true}]}},"/cloud/project/{serviceName}/database/mysql/{clusterId}/capabilities/backupRegions":{"get":{"summary":"Get backup region capabilities related to the mysql service","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/capabilities/backupRegions\")\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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/capabilities/backupRegions\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mysql/capabilities/backupRegions/get","required":true}]}},"/cloud/project/{serviceName}/database/mysql/{clusterId}/capabilities/integration":{"get":{"summary":"Get integration capabilities related to the MySQL service","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.database.capabilities.Integration"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/capabilities/integration\")\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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/capabilities/integration\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mysql/capabilities/integration/get","required":true}]}},"/cloud/project/{serviceName}/database/mysql/{clusterId}/certificates":{"get":{"summary":"Retrieve the certificates of the MySQL cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Certificates"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/certificates\")\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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/certificates\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mysql/certificates/get","required":true}]}},"/cloud/project/{serviceName}/database/mysql/{clusterId}/currentQueries":{"get":{"summary":"Retrieve the current queries for the cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"query","name":"limit","description":"Limit size of the result set returned by the pagination","schema":{"type":"integer"}},{"in":"query","name":"offset","description":"Offset of the result set returned by the pagination","schema":{"type":"integer"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.CurrentQueries"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/currentQueries\")\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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/currentQueries\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mysql/currentQueries/get","required":true}]}},"/cloud/project/{serviceName}/database/mysql/{clusterId}/currentQueries/cancel":{"post":{"summary":"Cancel the given current query of the cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.currentqueries.query.CancelRequest"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.currentqueries.query.CancelResponse"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.service.currentqueries.query.CancelRequest\nresult = client.post(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/currentQueries/cancel\",\n\tpid = None, # Database server connection ID (type: integer)\n\tterminate = None, # Request immediate termination instead of soft cancel (type: boolean)\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: cloud.project.database.service.currentqueries.query.CancelRequest\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/currentQueries/cancel\", array(\n\tpid => null, // Database server connection ID (type: integer)\n\tterminate => null, // Request immediate termination instead of soft cancel (type: boolean)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mysql/currentQueries/cancel","required":true}]}},"/cloud/project/{serviceName}/database/mysql/{clusterId}/database":{"get":{"security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/database\")\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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/database\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mysql/database/get","required":true}],"x-expanded-response":"CloudProjectDatabaseServiceDatabase"},"post":{"summary":"Create a new database on the MySQL cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Database"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Database"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.service.Database\nresult = client.post(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/database\",\n\tname = None, # Database name (type: string)\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: cloud.project.database.service.Database\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/database\", array(\n\tname => null, // Database name (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mysql/database/create","required":true}]}},"/cloud/project/{serviceName}/database/mysql/{clusterId}/database/{databaseId}":{"delete":{"summary":"Delete a MySQL database","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"databaseId","description":"Database ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/database/{databaseId}\")\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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/database/{databaseId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mysql/database/delete","required":true}]},"get":{"summary":"Get the database for the MySQL cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"databaseId","description":"Database ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Database"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/database/{databaseId}\")\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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/database/{databaseId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mysql/database/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/database/mysql/{clusterId}/enableWrites":{"post":{"summary":"Enable temporary write permission on readonly lock MySQL service","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.TemporaryWriteDeadline"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/enableWrites\")\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->post(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/enableWrites\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mysql/enableWrites","required":true}]}},"/cloud/project/{serviceName}/database/mysql/{clusterId}/integration":{"get":{"summary":"List integrations","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/integration\")\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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/integration\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mysql/integration/get","required":true}],"x-expanded-response":"CloudProjectDatabaseServiceIntegration"},"post":{"summary":"Create a new integration","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Integration"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Integration"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.service.Integration\nresult = client.post(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/integration\",\n\tdestinationServiceId = None, # ID of the destination service (type: string)\n\tparameters = None, # Parameters for the integration (type: object, nullable)\n\tsourceServiceId = None, # ID of the source service (type: string)\n\ttype = None, # Type of the integration (type: cloud.project.database.service.integration.TypeEnum)\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: cloud.project.database.service.Integration\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/integration\", array(\n\tdestinationServiceId => null, // ID of the destination service (type: string)\n\tparameters => null, // Parameters for the integration (type: object, nullable)\n\tsourceServiceId => null, // ID of the source service (type: string)\n\ttype => null, // Type of the integration (type: cloud.project.database.service.integration.TypeEnum)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mysql/integration/create","required":true}]}},"/cloud/project/{serviceName}/database/mysql/{clusterId}/integration/{integrationId}":{"delete":{"summary":"Delete an integration","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"integrationId","description":"Integration ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/integration/{integrationId}\")\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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/integration/{integrationId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mysql/integration/delete","required":true}]},"get":{"summary":"Get an integration","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"integrationId","description":"Integration ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Integration"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/integration/{integrationId}\")\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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/integration/{integrationId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mysql/integration/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/database/mysql/{clusterId}/log/kind":{"get":{"summary":"List available log kinds","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/log/kind\")\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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/log/kind\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mysql/log/kind/get","required":true}],"x-expanded-response":"DbaasLogsLogKind"}},"/cloud/project/{serviceName}/database/mysql/{clusterId}/log/kind/{name}":{"get":{"summary":"Get a log kind","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"name","description":"Name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogKind"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/log/kind/{name}\")\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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/log/kind/{name}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mysql/log/kind/get","required":true}],"x-response-identifier":"name"}},"/cloud/project/{serviceName}/database/mysql/{clusterId}/log/subscription":{"get":{"summary":"List subscription IDs for a cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"query","name":"kind","description":"Filter on a specific kind (e.g., audit)","schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/log/subscription\")\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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/log/subscription\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mysql/log/subscription/get","required":true}],"x-expanded-response":"DbaasLogsLogSubscription"},"post":{"summary":"Create subscription to log to customer for a MySQL","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscriptionCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscriptionResponse"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: dbaas.logs.LogSubscriptionCreation\nresult = client.post(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/log/subscription\",\n\tkind = None, # Log kind name to subscribe to (type: string)\n\tstreamId = None, # Customer log stream ID (type: string)\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: dbaas.logs.LogSubscriptionCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/log/subscription\", array(\n\tkind => null, // Log kind name to subscribe to (type: string)\n\tstreamId => null, // Customer log stream ID (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mysql/log/subscription/create","required":true},{"name":"ldp:apiovh:output/graylog/stream/forwardTo","description":"Required on the targeted LDP service","required":true}]}},"/cloud/project/{serviceName}/database/mysql/{clusterId}/log/subscription/{subscriptionId}":{"delete":{"summary":"Delete a subscription","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"subscriptionId","description":"Subscription ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscriptionResponse"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/log/subscription/{subscriptionId}\")\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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/log/subscription/{subscriptionId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mysql/log/subscription/delete","required":true}]},"get":{"summary":"Get subscription details","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"subscriptionId","description":"Subscription ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscription"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/log/subscription/{subscriptionId}\")\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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/log/subscription/{subscriptionId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mysql/log/subscription/get","required":true}],"x-response-identifier":"subscriptionId"}},"/cloud/project/{serviceName}/database/mysql/{clusterId}/log/url":{"post":{"summary":"Generate a temporary URL to retrieve logs","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogUrlCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.TemporaryLogsLink"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: dbaas.logs.LogUrlCreation\nresult = client.post(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/log/url\",\n\tkind = None, # Log kind name (type: string)\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: dbaas.logs.LogUrlCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/log/url\", array(\n\tkind => null, // Log kind name (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mysql/log/url/create","required":true}]}},"/cloud/project/{serviceName}/database/mysql/{clusterId}/logs":{"get":{"summary":"Retrieve the most recent MySQL log messages (limited to 1000)","deprecated":true,"x-deprecation-date":"2026-07-01T00:00:00Z","x-deletion-date":"2027-01-01T00:00:00Z","x-replacement-route":"/1.0/cloud/project/{serviceName}/database/mysql/{productID}/log/subscription","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.database.service.LogEntry"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"red","label":"Deprecated, will be removed"}],"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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/logs\")\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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/logs\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mysql/logs/get","required":true}]}},"/cloud/project/{serviceName}/database/mysql/{clusterId}/maintenance":{"get":{"summary":"List maintenances for the MySQL cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/maintenance\")\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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/maintenance\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mysql/maintenance/get","required":true}],"x-expanded-response":"CloudProjectDatabaseServiceMaintenance"}},"/cloud/project/{serviceName}/database/mysql/{clusterId}/maintenance/{maintenanceId}":{"get":{"summary":"Get the maintenance for the MySQL cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"maintenanceId","description":"Maintenance ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Maintenance"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/maintenance/{maintenanceId}\")\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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/maintenance/{maintenanceId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mysql/maintenance/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/database/mysql/{clusterId}/maintenance/{maintenanceId}/apply":{"post":{"summary":"Apply the maintenance","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"maintenanceId","description":"Maintenance ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Maintenance"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/maintenance/{maintenanceId}/apply\")\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->post(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/maintenance/{maintenanceId}/apply\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mysql/maintenance/apply","required":true}]}},"/cloud/project/{serviceName}/database/mysql/{clusterId}/metric":{"get":{"summary":"List available metrics for the MySQL cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"query","name":"extended","description":"Display DB specific metrics","schema":{"type":"boolean"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/metric\")\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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/metric\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mysql/metric/get","required":true}],"x-expanded-response":"CloudProjectDatabaseServiceMetric"}},"/cloud/project/{serviceName}/database/mysql/{clusterId}/metric/{metricName}":{"get":{"summary":"Get the metric values for the MySQL cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"metricName","description":"Metric name","required":true,"schema":{"type":"string"}},{"in":"query","name":"period","description":"The period of time to query metrics for","required":true,"schema":{"$ref":"#/components/schemas/cloud.project.database.service.MetricPeriodEnum"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Metric"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/metric/{metricName}\")\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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/metric/{metricName}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mysql/metric/get","required":true}],"x-response-identifier":"name"}},"/cloud/project/{serviceName}/database/mysql/{clusterId}/migration":{"get":{"summary":"Get the MySQL migration status","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.mysql.MigrationResult"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/migration\")\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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/migration\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mysql/migration/get","required":true}]},"post":{"summary":"Create a new MySQL migration task","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.mysql.Migration"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.mysql.MigrationResult"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.mysql.Migration\nresult = client.post(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/migration\",\n\tsourceHost = None, # Source MySQL host (type: string)\n\tsourcePassword = None, # Source MySQL user password (type: string)\n\tsourcePort = None, # Source MySQL port (type: integer)\n\tsourceSsl = None, # Source MySQL ssl enabler (type: boolean)\n\tsourceUsername = None, # Source MySQL username (type: string)\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: cloud.project.database.mysql.Migration\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/migration\", array(\n\tsourceHost => null, // Source MySQL host (type: string)\n\tsourcePassword => null, // Source MySQL user password (type: string)\n\tsourcePort => null, // Source MySQL port (type: integer)\n\tsourceSsl => null, // Source MySQL ssl enabler (type: boolean)\n\tsourceUsername => null, // Source MySQL username (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mysql/migration/create","required":true}]}},"/cloud/project/{serviceName}/database/mysql/{clusterId}/migration/check":{"get":{"summary":"Get the MySQL migration check status","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.mysql.migration.CheckResult"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/migration/check\")\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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/migration/check\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mysql/migration/check/get","required":true}]},"post":{"summary":"Create a new MySQL migration check","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.mysql.Migration"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.mysql.migration.CheckResult"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.mysql.Migration\nresult = client.post(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/migration/check\",\n\tsourceHost = None, # Source MySQL host (type: string)\n\tsourcePassword = None, # Source MySQL user password (type: string)\n\tsourcePort = None, # Source MySQL port (type: integer)\n\tsourceSsl = None, # Source MySQL ssl enabler (type: boolean)\n\tsourceUsername = None, # Source MySQL username (type: string)\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: cloud.project.database.mysql.Migration\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/migration/check\", array(\n\tsourceHost => null, // Source MySQL host (type: string)\n\tsourcePassword => null, // Source MySQL user password (type: string)\n\tsourcePort => null, // Source MySQL port (type: integer)\n\tsourceSsl => null, // Source MySQL ssl enabler (type: boolean)\n\tsourceUsername => null, // Source MySQL username (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mysql/migration/check/create","required":true}]}},"/cloud/project/{serviceName}/database/mysql/{clusterId}/migration/stop":{"post":{"summary":"Stop MySQL migration and replication process","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/migration/stop\")\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->post(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/migration/stop\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mysql/migration/stop","required":true}]}},"/cloud/project/{serviceName}/database/mysql/{clusterId}/node":{"get":{"summary":"List nodes of the MySQL","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/node\")\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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/node\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mysql/node/get","required":true}],"x-expanded-response":"CloudProjectDatabaseServiceNode"}},"/cloud/project/{serviceName}/database/mysql/{clusterId}/node/{nodeId}":{"get":{"summary":"Get MySQL nodes","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"nodeId","description":"Node ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Node"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/node/{nodeId}\")\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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/node/{nodeId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mysql/node/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/database/mysql/{clusterId}/prometheus":{"get":{"summary":"Get the endpoint for Mysql cluster Prometheus","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.PrometheusEndpoint"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/prometheus\")\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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/prometheus\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mysql/prometheus/get","required":true}],"x-response-identifier":"username"}},"/cloud/project/{serviceName}/database/mysql/{clusterId}/prometheus/credentials/reset":{"post":{"summary":"Reset the password of a Prometheus","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.PrometheusAccess"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/prometheus/credentials/reset\")\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->post(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/prometheus/credentials/reset\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mysql/prometheus/credentials/reset","required":true}]}},"/cloud/project/{serviceName}/database/mysql/{clusterId}/queryStatistics":{"get":{"summary":"Retrieve the query statistics for the cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"query","name":"limit","description":"Limit size of the result set returned by the pagination","schema":{"type":"integer"}},{"in":"query","name":"offset","description":"Offset of the result set returned by the pagination","schema":{"type":"integer"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.mysql.QueryStatistics"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/queryStatistics\")\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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/queryStatistics\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mysql/queryStatistics/get","required":true}]}},"/cloud/project/{serviceName}/database/mysql/{clusterId}/queryStatistics/reset":{"post":{"summary":"Reset the query statistics of the cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/queryStatistics/reset\")\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->post(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/queryStatistics/reset\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mysql/queryStatistics/reset","required":true}]}},"/cloud/project/{serviceName}/database/mysql/{clusterId}/user":{"get":{"summary":"List users of the MySQL","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/user\")\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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/user\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mysql/user/get","required":true}],"x-expanded-response":"CloudProjectDatabaseServiceUser"},"post":{"summary":"Create a new user on the MySQL cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.UserCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.UserWithPassword"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.service.UserCreation\nresult = client.post(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/user\",\n\tname = None, # Name of the user (type: string)\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: cloud.project.database.service.UserCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/user\", array(\n\tname => null, // Name of the user (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mysql/user/create","required":true}]}},"/cloud/project/{serviceName}/database/mysql/{clusterId}/user/{userId}":{"delete":{"summary":"Delete a MySQL user","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"userId","description":"User ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/user/{userId}\")\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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/user/{userId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mysql/user/delete","required":true}]},"get":{"summary":"Get MySQL users","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"userId","description":"User ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.User"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/user/{userId}\")\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(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/user/{userId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mysql/user/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/database/mysql/{clusterId}/user/{userId}/credentials/reset":{"post":{"summary":"Reset the password of a user","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"userId","description":"User ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.UserWithPassword"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/user/{userId}/credentials/reset\")\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->post(\"/cloud/project/{serviceName}/database/mysql/{clusterId}/user/{userId}/credentials/reset\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/mysql/user/credentials/reset","required":true}]}},"/cloud/project/{serviceName}/database/opensearch":{"get":{"summary":"List all the opensearch of the project","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/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(\"/cloud/project/{serviceName}/database/opensearch\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/opensearch/get","required":true}],"x-expanded-response":"CloudProjectDatabaseOpensearchService"},"post":{"summary":"Create a new opensearch cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.ServiceCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.opensearch.Service"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.ServiceCreation\nresult = client.post(\"/cloud/project/{serviceName}/database/opensearch\",\n\tbackup = None, # Backup from which the new service is created. DEPRECATED: use forkFrom (type: cloud.project.database.service.creation.BackupFork, nullable)\n\tbackupTime = None, # Time on which backups start every day. DEPRECATED: use backups.time (type: time, nullable)\n\tbackups = None, # Information related to the backups, null if the engine does not support backups (type: cloud.project.database.service.Backup, nullable)\n\tdescription = None, # Description of the cluster (type: string)\n\tdisk = None, # Disk attributes of the cluster (type: cloud.project.database.service.Disk)\n\tforkFrom = None, # Backup from which the new service is created (type: cloud.project.database.service.creation.ForkFrom, nullable)\n\tipRestrictions = None, # IP Blocks authorized to access to the cluster (type: array)\n\tmaintenanceTime = None, # Time on which maintenances can start every day (type: time, nullable)\n\tnetworkId = None, # Private network ID in which the cluster is (type: string, nullable)\n\tnodesList = None, # List of nodes in the cluster, not compatible with nodesPattern (type: array, nullable)\n\tnodesPattern = None, # Pattern definition of the nodes in the cluster, not compatible with nodesList (type: cloud.project.database.service.NodePattern, nullable)\n\tplan = None, # Plan of the cluster (type: string)\n\tsubnetId = None, # Private subnet ID in which the cluster is (type: string, nullable)\n\tversion = None, # Version of the engine deployed on the cluster (type: string)\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: cloud.project.database.ServiceCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/opensearch\", array(\n\tbackup => null, // Backup from which the new service is created. DEPRECATED: use forkFrom (type: cloud.project.database.service.creation.BackupFork, nullable)\n\tbackupTime => null, // Time on which backups start every day. DEPRECATED: use backups.time (type: time, nullable)\n\tbackups => null, // Information related to the backups, null if the engine does not support backups (type: cloud.project.database.service.Backup, nullable)\n\tdescription => null, // Description of the cluster (type: string)\n\tdisk => null, // Disk attributes of the cluster (type: cloud.project.database.service.Disk)\n\tforkFrom => null, // Backup from which the new service is created (type: cloud.project.database.service.creation.ForkFrom, nullable)\n\tipRestrictions => null, // IP Blocks authorized to access to the cluster (type: array)\n\tmaintenanceTime => null, // Time on which maintenances can start every day (type: time, nullable)\n\tnetworkId => null, // Private network ID in which the cluster is (type: string, nullable)\n\tnodesList => null, // List of nodes in the cluster, not compatible with nodesPattern (type: array, nullable)\n\tnodesPattern => null, // Pattern definition of the nodes in the cluster, not compatible with nodesList (type: cloud.project.database.service.NodePattern, nullable)\n\tplan => null, // Plan of the cluster (type: string)\n\tsubnetId => null, // Private subnet ID in which the cluster is (type: string, nullable)\n\tversion => null, // Version of the engine deployed on the cluster (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/opensearch/create","required":true}]}},"/cloud/project/{serviceName}/database/opensearch/{clusterId}":{"delete":{"summary":"Delete a opensearch cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}\")\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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/opensearch/delete","required":true}]},"get":{"summary":"Get opensearch cluster properties","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.opensearch.Service"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}\")\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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/opensearch/get","required":true}],"x-response-identifier":"id"},"put":{"summary":"Update an existing opensearch cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.opensearch.Service"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.opensearch.Service"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.opensearch.Service\nresult = client.put(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}\",\n\taclsEnabled = None, # Defines whether the acls are enabled on the cluster (type: boolean)\n\tbackupTime = None, # Time on which backups start every day. DEPRECATED: use backups.time (type: time)\n\tbackups = None, # Information related to the backups, null if the engine does not support backups (type: cloud.project.database.service.Backup, nullable)\n\tdeletionProtection = None, # Enable deletion protection (type: boolean, nullable)\n\tdescription = None, # Description of the cluster (type: string)\n\tdisk = None, # Disk attributes of the cluster. DEPRECATED: use storage (type: cloud.project.database.service.Disk)\n\tenablePrometheus = None, # Enable Prometheus (type: boolean, nullable)\n\tflavor = None, # The VM flavor used for this cluster (type: string)\n\tipRestrictions = None, # IP Blocks authorized to access to the cluster (type: array)\n\tmaintenanceTime = None, # Time on which maintenances can start every day (type: time)\n\tnetworkId = None, # Private network ID in which the cluster is (type: string, nullable)\n\tnodeNumber = None, # Number of nodes in the cluster. DEPRECATED: use nodes (type: integer)\n\tplan = None, # Plan of the cluster (type: string)\n\tstorage = None, # Storage attributes of the cluster (type: cloud.project.database.service.Storage, nullable)\n\tsubnetId = None, # Private subnet ID in which the cluster is (type: string, nullable)\n\tversion = None, # Version of the engine deployed on the cluster (type: string)\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: cloud.project.database.opensearch.Service\n$result = $ovh->put(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}\", array(\n\taclsEnabled => null, // Defines whether the acls are enabled on the cluster (type: boolean)\n\tbackupTime => null, // Time on which backups start every day. DEPRECATED: use backups.time (type: time)\n\tbackups => null, // Information related to the backups, null if the engine does not support backups (type: cloud.project.database.service.Backup, nullable)\n\tdeletionProtection => null, // Enable deletion protection (type: boolean, nullable)\n\tdescription => null, // Description of the cluster (type: string)\n\tdisk => null, // Disk attributes of the cluster. DEPRECATED: use storage (type: cloud.project.database.service.Disk)\n\tenablePrometheus => null, // Enable Prometheus (type: boolean, nullable)\n\tflavor => null, // The VM flavor used for this cluster (type: string)\n\tipRestrictions => null, // IP Blocks authorized to access to the cluster (type: array)\n\tmaintenanceTime => null, // Time on which maintenances can start every day (type: time)\n\tnetworkId => null, // Private network ID in which the cluster is (type: string, nullable)\n\tnodeNumber => null, // Number of nodes in the cluster. DEPRECATED: use nodes (type: integer)\n\tplan => null, // Plan of the cluster (type: string)\n\tstorage => null, // Storage attributes of the cluster (type: cloud.project.database.service.Storage, nullable)\n\tsubnetId => null, // Private subnet ID in which the cluster is (type: string, nullable)\n\tversion => null, // Version of the engine deployed on the cluster (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/opensearch/edit","required":true}]}},"/cloud/project/{serviceName}/database/opensearch/{clusterId}/advancedConfiguration":{"get":{"summary":"Get opensearch advanced configuration","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/advancedConfiguration\")\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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/advancedConfiguration\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/opensearch/advancedConfiguration/get","required":true}]},"put":{"summary":"Update opensearch advanced configuration","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: map[string]string\nresult = client.put(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/advancedConfiguration\",\n\tdata = None, # (type: map[string]string)\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: map[string]string\n$result = $ovh->put(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/advancedConfiguration\", array(\n\tdata => null, // (type: map[string]string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/opensearch/advancedConfiguration/edit","required":true}]}},"/cloud/project/{serviceName}/database/opensearch/{clusterId}/backup":{"get":{"summary":"List backups of the opensearch","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/backup\")\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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/backup\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/opensearch/backup/get","required":true}],"x-expanded-response":"CloudProjectDatabaseBackup"}},"/cloud/project/{serviceName}/database/opensearch/{clusterId}/backup/{backupId}":{"get":{"summary":"Get opensearch backups","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"backupId","description":"Backup ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.Backup"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/backup/{backupId}\")\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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/backup/{backupId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/opensearch/backup/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/database/opensearch/{clusterId}/capabilities/advancedConfiguration":{"get":{"summary":"Get opensearch advanced configuration fields","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.database.capabilities.advancedConfiguration.Property"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/capabilities/advancedConfiguration\")\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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/capabilities/advancedConfiguration\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/opensearch/capabilities/advancedConfiguration/get","required":true}]}},"/cloud/project/{serviceName}/database/opensearch/{clusterId}/capabilities/backupRegions":{"get":{"summary":"Get backup region capabilities related to the opensearch service","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/capabilities/backupRegions\")\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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/capabilities/backupRegions\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/opensearch/capabilities/backupRegions/get","required":true}]}},"/cloud/project/{serviceName}/database/opensearch/{clusterId}/capabilities/integration":{"get":{"summary":"Get integration capabilities related to the opensearch service","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.database.capabilities.Integration"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/capabilities/integration\")\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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/capabilities/integration\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/opensearch/capabilities/integration/get","required":true}]}},"/cloud/project/{serviceName}/database/opensearch/{clusterId}/index":{"get":{"summary":"List indexes of the opensearch","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/index\")\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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/index\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/opensearch/index/get","required":true}],"x-expanded-response":"CloudProjectDatabaseOpensearchIndex"}},"/cloud/project/{serviceName}/database/opensearch/{clusterId}/index/{indexId}":{"delete":{"summary":"Delete an opensearch index","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"indexId","description":"Index ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/index/{indexId}\")\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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/index/{indexId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/opensearch/index/delete","required":true}]},"get":{"summary":"Get opensearch index","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"indexId","description":"Index ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.opensearch.Index"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/index/{indexId}\")\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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/index/{indexId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/opensearch/index/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/database/opensearch/{clusterId}/integration":{"get":{"summary":"List integrations","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/integration\")\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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/integration\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/opensearch/integration/get","required":true}],"x-expanded-response":"CloudProjectDatabaseServiceIntegration"},"post":{"summary":"Create a new integration","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Integration"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Integration"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.service.Integration\nresult = client.post(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/integration\",\n\tdestinationServiceId = None, # ID of the destination service (type: string)\n\tparameters = None, # Parameters for the integration (type: object, nullable)\n\tsourceServiceId = None, # ID of the source service (type: string)\n\ttype = None, # Type of the integration (type: cloud.project.database.service.integration.TypeEnum)\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: cloud.project.database.service.Integration\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/integration\", array(\n\tdestinationServiceId => null, // ID of the destination service (type: string)\n\tparameters => null, // Parameters for the integration (type: object, nullable)\n\tsourceServiceId => null, // ID of the source service (type: string)\n\ttype => null, // Type of the integration (type: cloud.project.database.service.integration.TypeEnum)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/opensearch/integration/create","required":true}]}},"/cloud/project/{serviceName}/database/opensearch/{clusterId}/integration/{integrationId}":{"delete":{"summary":"Delete an integration","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"integrationId","description":"Integration ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/integration/{integrationId}\")\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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/integration/{integrationId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/opensearch/integration/delete","required":true}]},"get":{"summary":"Get an integration","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"integrationId","description":"Integration ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Integration"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/integration/{integrationId}\")\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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/integration/{integrationId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/opensearch/integration/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/database/opensearch/{clusterId}/log/kind":{"get":{"summary":"List available log kinds","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/log/kind\")\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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/log/kind\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/opensearch/log/kind/get","required":true}],"x-expanded-response":"DbaasLogsLogKind"}},"/cloud/project/{serviceName}/database/opensearch/{clusterId}/log/kind/{name}":{"get":{"summary":"Get a log kind","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"name","description":"Name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogKind"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/log/kind/{name}\")\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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/log/kind/{name}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/opensearch/log/kind/get","required":true}],"x-response-identifier":"name"}},"/cloud/project/{serviceName}/database/opensearch/{clusterId}/log/subscription":{"get":{"summary":"List subscription IDs for a cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"query","name":"kind","description":"Filter on a specific kind (e.g., audit)","schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/log/subscription\")\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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/log/subscription\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/opensearch/log/subscription/get","required":true}],"x-expanded-response":"DbaasLogsLogSubscription"},"post":{"summary":"Create subscription to log to customer for a opensearch","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscriptionCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscriptionResponse"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: dbaas.logs.LogSubscriptionCreation\nresult = client.post(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/log/subscription\",\n\tkind = None, # Log kind name to subscribe to (type: string)\n\tstreamId = None, # Customer log stream ID (type: string)\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: dbaas.logs.LogSubscriptionCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/log/subscription\", array(\n\tkind => null, // Log kind name to subscribe to (type: string)\n\tstreamId => null, // Customer log stream ID (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/opensearch/log/subscription/create","required":true},{"name":"ldp:apiovh:output/graylog/stream/forwardTo","description":"Required on the targeted LDP service","required":true}]}},"/cloud/project/{serviceName}/database/opensearch/{clusterId}/log/subscription/{subscriptionId}":{"delete":{"summary":"Delete a subscription","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"subscriptionId","description":"Subscription ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscriptionResponse"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/log/subscription/{subscriptionId}\")\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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/log/subscription/{subscriptionId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/opensearch/log/subscription/delete","required":true}]},"get":{"summary":"Get subscription details","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"subscriptionId","description":"Subscription ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscription"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/log/subscription/{subscriptionId}\")\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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/log/subscription/{subscriptionId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/opensearch/log/subscription/get","required":true}],"x-response-identifier":"subscriptionId"}},"/cloud/project/{serviceName}/database/opensearch/{clusterId}/log/url":{"post":{"summary":"Generate a temporary URL to retrieve logs","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogUrlCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.TemporaryLogsLink"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: dbaas.logs.LogUrlCreation\nresult = client.post(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/log/url\",\n\tkind = None, # Log kind name (type: string)\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: dbaas.logs.LogUrlCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/log/url\", array(\n\tkind => null, // Log kind name (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/opensearch/log/url/create","required":true}]}},"/cloud/project/{serviceName}/database/opensearch/{clusterId}/logs":{"get":{"summary":"Retrieve the most recent opensearch log messages (limited to 1000)","deprecated":true,"x-deprecation-date":"2026-07-01T00:00:00Z","x-deletion-date":"2027-01-01T00:00:00Z","x-replacement-route":"/1.0/cloud/project/{serviceName}/database/opensearch/{productID}/log/subscription","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.database.service.LogEntry"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"red","label":"Deprecated, will be removed"}],"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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/logs\")\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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/logs\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/opensearch/logs/get","required":true}]}},"/cloud/project/{serviceName}/database/opensearch/{clusterId}/maintenance":{"get":{"summary":"List maintenances for the opensearch cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/maintenance\")\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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/maintenance\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/opensearch/maintenance/get","required":true}],"x-expanded-response":"CloudProjectDatabaseServiceMaintenance"}},"/cloud/project/{serviceName}/database/opensearch/{clusterId}/maintenance/{maintenanceId}":{"get":{"summary":"Get the maintenance for the opensearch cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"maintenanceId","description":"Maintenance ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Maintenance"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/maintenance/{maintenanceId}\")\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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/maintenance/{maintenanceId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/opensearch/maintenance/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/database/opensearch/{clusterId}/maintenance/{maintenanceId}/apply":{"post":{"summary":"Apply the maintenance","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"maintenanceId","description":"Maintenance ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Maintenance"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/maintenance/{maintenanceId}/apply\")\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->post(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/maintenance/{maintenanceId}/apply\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/opensearch/maintenance/apply","required":true}]}},"/cloud/project/{serviceName}/database/opensearch/{clusterId}/metric":{"get":{"summary":"List available metrics for the opensearch cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"query","name":"extended","description":"Display DB specific metrics","schema":{"type":"boolean"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/metric\")\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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/metric\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/opensearch/metric/get","required":true}],"x-expanded-response":"CloudProjectDatabaseServiceMetric"}},"/cloud/project/{serviceName}/database/opensearch/{clusterId}/metric/{metricName}":{"get":{"summary":"Get the metric values for the opensearch cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"metricName","description":"Metric name","required":true,"schema":{"type":"string"}},{"in":"query","name":"period","description":"The period of time to query metrics for","required":true,"schema":{"$ref":"#/components/schemas/cloud.project.database.service.MetricPeriodEnum"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Metric"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/metric/{metricName}\")\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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/metric/{metricName}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/opensearch/metric/get","required":true}],"x-response-identifier":"name"}},"/cloud/project/{serviceName}/database/opensearch/{clusterId}/node":{"get":{"summary":"List nodes of the opensearch","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/node\")\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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/node\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/opensearch/node/get","required":true}],"x-expanded-response":"CloudProjectDatabaseServiceNode"}},"/cloud/project/{serviceName}/database/opensearch/{clusterId}/node/{nodeId}":{"get":{"summary":"Get opensearch nodes","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"nodeId","description":"Node ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Node"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/node/{nodeId}\")\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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/node/{nodeId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/opensearch/node/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/database/opensearch/{clusterId}/pattern":{"get":{"summary":"List patterns of the opensearch","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/pattern\")\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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/pattern\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/opensearch/pattern/get","required":true}],"x-expanded-response":"CloudProjectDatabaseOpensearchPattern"},"post":{"summary":"Create a new pattern on the opensearch cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.opensearch.Pattern"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.opensearch.Pattern"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.opensearch.Pattern\nresult = client.post(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/pattern\",\n\tmaxIndexCount = None, # Maximum number of index for this pattern (type: integer)\n\tpattern = None, # Pattern format (type: string)\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: cloud.project.database.opensearch.Pattern\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/pattern\", array(\n\tmaxIndexCount => null, // Maximum number of index for this pattern (type: integer)\n\tpattern => null, // Pattern format (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/opensearch/pattern/create","required":true}]}},"/cloud/project/{serviceName}/database/opensearch/{clusterId}/pattern/{patternId}":{"delete":{"summary":"Delete an opensearch pattern","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"patternId","description":"Pattern ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/pattern/{patternId}\")\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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/pattern/{patternId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/opensearch/pattern/delete","required":true}]},"get":{"summary":"Get opensearch patterns","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"patternId","description":"Pattern ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.opensearch.Pattern"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/pattern/{patternId}\")\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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/pattern/{patternId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/opensearch/pattern/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/database/opensearch/{clusterId}/permissions":{"get":{"summary":"Retrieve the opensearch permissions values","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.opensearch.Permissions"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/permissions\")\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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/permissions\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/opensearch/permissions/get","required":true}]}},"/cloud/project/{serviceName}/database/opensearch/{clusterId}/prometheus":{"get":{"summary":"Get the endpoint for Opensearch cluster Prometheus","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.PrometheusEndpoint"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/prometheus\")\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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/prometheus\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/opensearch/prometheus/get","required":true}],"x-response-identifier":"username"}},"/cloud/project/{serviceName}/database/opensearch/{clusterId}/prometheus/credentials/reset":{"post":{"summary":"Reset the password of a Prometheus","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.PrometheusAccess"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/prometheus/credentials/reset\")\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->post(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/prometheus/credentials/reset\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/opensearch/prometheus/credentials/reset","required":true}]}},"/cloud/project/{serviceName}/database/opensearch/{clusterId}/user":{"get":{"summary":"List users of the opensearch","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/user\")\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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/user\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/opensearch/user/get","required":true}],"x-expanded-response":"CloudProjectDatabaseOpensearchUser"},"post":{"summary":"Create a new user on the opensearch cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.opensearch.UserCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.opensearch.UserWithPassword"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.opensearch.UserCreation\nresult = client.post(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/user\",\n\tacls = None, # Acls of the user (type: array)\n\tname = None, # Name of the user (type: string)\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: cloud.project.database.opensearch.UserCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/user\", array(\n\tacls => null, // Acls of the user (type: array)\n\tname => null, // Name of the user (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/opensearch/user/create","required":true}]}},"/cloud/project/{serviceName}/database/opensearch/{clusterId}/user/{userId}":{"delete":{"summary":"Delete a opensearch user","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"userId","description":"User ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/user/{userId}\")\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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/user/{userId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/opensearch/user/delete","required":true}]},"get":{"summary":"Get opensearch users","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"userId","description":"User ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.opensearch.User"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/user/{userId}\")\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(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/user/{userId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/opensearch/user/get","required":true}],"x-response-identifier":"id"},"put":{"summary":"Update a user on the opensearch cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"userId","description":"User ID","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.opensearch.User"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.opensearch.User"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.opensearch.User\nresult = client.put(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/user/{userId}\",\n\tacls = None, # Acls of the user (type: array)\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: cloud.project.database.opensearch.User\n$result = $ovh->put(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/user/{userId}\", array(\n\tacls => null, // Acls of the user (type: array)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/opensearch/user/edit","required":true}]}},"/cloud/project/{serviceName}/database/opensearch/{clusterId}/user/{userId}/credentials/reset":{"post":{"summary":"Reset the password of a user","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"userId","description":"User ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.opensearch.UserWithPassword"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/user/{userId}/credentials/reset\")\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->post(\"/cloud/project/{serviceName}/database/opensearch/{clusterId}/user/{userId}/credentials/reset\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/opensearch/user/credentials/reset","required":true}]}},"/cloud/project/{serviceName}/database/postgresql":{"get":{"summary":"List all the postgresql of the project","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/postgresql\")\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(\"/cloud/project/{serviceName}/database/postgresql\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/postgresql/get","required":true}],"x-expanded-response":"CloudProjectDatabaseService"},"post":{"summary":"Create a new postgresql cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.ServiceCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.Service"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.ServiceCreation\nresult = client.post(\"/cloud/project/{serviceName}/database/postgresql\",\n\tbackup = None, # Backup from which the new service is created. DEPRECATED: use forkFrom (type: cloud.project.database.service.creation.BackupFork, nullable)\n\tbackupTime = None, # Time on which backups start every day. DEPRECATED: use backups.time (type: time, nullable)\n\tbackups = None, # Information related to the backups, null if the engine does not support backups (type: cloud.project.database.service.Backup, nullable)\n\tdescription = None, # Description of the cluster (type: string)\n\tdisk = None, # Disk attributes of the cluster (type: cloud.project.database.service.Disk)\n\tforkFrom = None, # Backup from which the new service is created (type: cloud.project.database.service.creation.ForkFrom, nullable)\n\tipRestrictions = None, # IP Blocks authorized to access to the cluster (type: array)\n\tmaintenanceTime = None, # Time on which maintenances can start every day (type: time, nullable)\n\tnetworkId = None, # Private network ID in which the cluster is (type: string, nullable)\n\tnodesList = None, # List of nodes in the cluster, not compatible with nodesPattern (type: array, nullable)\n\tnodesPattern = None, # Pattern definition of the nodes in the cluster, not compatible with nodesList (type: cloud.project.database.service.NodePattern, nullable)\n\tplan = None, # Plan of the cluster (type: string)\n\tsubnetId = None, # Private subnet ID in which the cluster is (type: string, nullable)\n\tversion = None, # Version of the engine deployed on the cluster (type: string)\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: cloud.project.database.ServiceCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/postgresql\", array(\n\tbackup => null, // Backup from which the new service is created. DEPRECATED: use forkFrom (type: cloud.project.database.service.creation.BackupFork, nullable)\n\tbackupTime => null, // Time on which backups start every day. DEPRECATED: use backups.time (type: time, nullable)\n\tbackups => null, // Information related to the backups, null if the engine does not support backups (type: cloud.project.database.service.Backup, nullable)\n\tdescription => null, // Description of the cluster (type: string)\n\tdisk => null, // Disk attributes of the cluster (type: cloud.project.database.service.Disk)\n\tforkFrom => null, // Backup from which the new service is created (type: cloud.project.database.service.creation.ForkFrom, nullable)\n\tipRestrictions => null, // IP Blocks authorized to access to the cluster (type: array)\n\tmaintenanceTime => null, // Time on which maintenances can start every day (type: time, nullable)\n\tnetworkId => null, // Private network ID in which the cluster is (type: string, nullable)\n\tnodesList => null, // List of nodes in the cluster, not compatible with nodesPattern (type: array, nullable)\n\tnodesPattern => null, // Pattern definition of the nodes in the cluster, not compatible with nodesList (type: cloud.project.database.service.NodePattern, nullable)\n\tplan => null, // Plan of the cluster (type: string)\n\tsubnetId => null, // Private subnet ID in which the cluster is (type: string, nullable)\n\tversion => null, // Version of the engine deployed on the cluster (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/postgresql/create","required":true}]}},"/cloud/project/{serviceName}/database/postgresql/{clusterId}":{"delete":{"summary":"Delete a postgresql cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}\")\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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/postgresql/delete","required":true}]},"get":{"summary":"Get postgresql cluster properties","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.Service"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}\")\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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/postgresql/get","required":true}],"x-response-identifier":"id"},"put":{"summary":"Update an existing postgresql cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.Service"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.Service"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.Service\nresult = client.put(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}\",\n\tbackupTime = None, # Time on which backups start every day. DEPRECATED: use backups.time (type: time)\n\tbackups = None, # Information related to the backups, null if the engine does not support backups (type: cloud.project.database.service.Backup, nullable)\n\tdeletionProtection = None, # Enable deletion protection (type: boolean, nullable)\n\tdescription = None, # Description of the cluster (type: string)\n\tdisk = None, # Disk attributes of the cluster. DEPRECATED: use storage (type: cloud.project.database.service.Disk)\n\tenablePrometheus = None, # Enable Prometheus (type: boolean, nullable)\n\tflavor = None, # The VM flavor used for this cluster (type: string)\n\tipRestrictions = None, # IP Blocks authorized to access to the cluster (type: array)\n\tmaintenanceTime = None, # Time on which maintenances can start every day (type: time)\n\tnetworkId = None, # Private network ID in which the cluster is (type: string, nullable)\n\tnodeNumber = None, # Number of nodes in the cluster. DEPRECATED: use nodes (type: integer)\n\tplan = None, # Plan of the cluster (type: string)\n\tstorage = None, # Storage attributes of the cluster (type: cloud.project.database.service.Storage, nullable)\n\tsubnetId = None, # Private subnet ID in which the cluster is (type: string, nullable)\n\tversion = None, # Version of the engine deployed on the cluster (type: string)\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: cloud.project.database.Service\n$result = $ovh->put(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}\", array(\n\tbackupTime => null, // Time on which backups start every day. DEPRECATED: use backups.time (type: time)\n\tbackups => null, // Information related to the backups, null if the engine does not support backups (type: cloud.project.database.service.Backup, nullable)\n\tdeletionProtection => null, // Enable deletion protection (type: boolean, nullable)\n\tdescription => null, // Description of the cluster (type: string)\n\tdisk => null, // Disk attributes of the cluster. DEPRECATED: use storage (type: cloud.project.database.service.Disk)\n\tenablePrometheus => null, // Enable Prometheus (type: boolean, nullable)\n\tflavor => null, // The VM flavor used for this cluster (type: string)\n\tipRestrictions => null, // IP Blocks authorized to access to the cluster (type: array)\n\tmaintenanceTime => null, // Time on which maintenances can start every day (type: time)\n\tnetworkId => null, // Private network ID in which the cluster is (type: string, nullable)\n\tnodeNumber => null, // Number of nodes in the cluster. DEPRECATED: use nodes (type: integer)\n\tplan => null, // Plan of the cluster (type: string)\n\tstorage => null, // Storage attributes of the cluster (type: cloud.project.database.service.Storage, nullable)\n\tsubnetId => null, // Private subnet ID in which the cluster is (type: string, nullable)\n\tversion => null, // Version of the engine deployed on the cluster (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/postgresql/edit","required":true}]}},"/cloud/project/{serviceName}/database/postgresql/{clusterId}/advancedConfiguration":{"get":{"summary":"Get postgresql advanced configuration","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/advancedConfiguration\")\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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/advancedConfiguration\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/postgresql/advancedConfiguration/get","required":true}]},"put":{"summary":"Update postgresql advanced configuration","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: map[string]string\nresult = client.put(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/advancedConfiguration\",\n\tdata = None, # (type: map[string]string)\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: map[string]string\n$result = $ovh->put(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/advancedConfiguration\", array(\n\tdata => null, // (type: map[string]string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/postgresql/advancedConfiguration/edit","required":true}]}},"/cloud/project/{serviceName}/database/postgresql/{clusterId}/backup":{"get":{"summary":"List backups of the postgresql","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/backup\")\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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/backup\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/postgresql/backup/get","required":true}],"x-expanded-response":"CloudProjectDatabaseBackup"}},"/cloud/project/{serviceName}/database/postgresql/{clusterId}/backup/{backupId}":{"get":{"summary":"Get postgresql backups","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"backupId","description":"Backup ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.Backup"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/backup/{backupId}\")\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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/backup/{backupId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/postgresql/backup/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/database/postgresql/{clusterId}/capabilities/advancedConfiguration":{"get":{"summary":"Get postgresql advanced configuration fields","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.database.capabilities.advancedConfiguration.Property"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/capabilities/advancedConfiguration\")\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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/capabilities/advancedConfiguration\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/postgresql/capabilities/advancedConfiguration/get","required":true}]}},"/cloud/project/{serviceName}/database/postgresql/{clusterId}/capabilities/backupRegions":{"get":{"summary":"Get backup region capabilities related to the postgresql service","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/capabilities/backupRegions\")\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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/capabilities/backupRegions\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/postgresql/capabilities/backupRegions/get","required":true}]}},"/cloud/project/{serviceName}/database/postgresql/{clusterId}/capabilities/integration":{"get":{"summary":"Get integration capabilities related to the postgresql service","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.database.capabilities.Integration"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/capabilities/integration\")\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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/capabilities/integration\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/postgresql/capabilities/integration/get","required":true}]}},"/cloud/project/{serviceName}/database/postgresql/{clusterId}/certificates":{"get":{"summary":"Retrieve the certificates of the postgresql cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Certificates"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/certificates\")\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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/certificates\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/postgresql/certificates/get","required":true}]}},"/cloud/project/{serviceName}/database/postgresql/{clusterId}/connectionPool":{"get":{"security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/connectionPool\")\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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/connectionPool\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/postgresql/connectionPool/get","required":true}],"x-expanded-response":"CloudProjectDatabasePostgresqlConnectionPool"},"post":{"summary":"Create a new connectionPool on the postgresql cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.postgresql.ConnectionPoolCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.postgresql.ConnectionPool"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.postgresql.ConnectionPoolCreation\nresult = client.post(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/connectionPool\",\n\tdatabaseId = None, # Database used for the connection pool (type: string)\n\tmode = None, # Connection mode to the connection pool (type: cloud.project.database.postgresql.connectionpool.ModeEnum)\n\tname = None, # Name of the connection pool (type: string)\n\tsize = None, # Size of the connection pool (type: integer)\n\tuserId = None, # User authorized to connect to the pool, if none all the users are allowed (type: string, nullable)\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: cloud.project.database.postgresql.ConnectionPoolCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/connectionPool\", array(\n\tdatabaseId => null, // Database used for the connection pool (type: string)\n\tmode => null, // Connection mode to the connection pool (type: cloud.project.database.postgresql.connectionpool.ModeEnum)\n\tname => null, // Name of the connection pool (type: string)\n\tsize => null, // Size of the connection pool (type: integer)\n\tuserId => null, // User authorized to connect to the pool, if none all the users are allowed (type: string, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/postgresql/connectionPool/create","required":true}]}},"/cloud/project/{serviceName}/database/postgresql/{clusterId}/connectionPool/{connectionPoolId}":{"delete":{"summary":"Delete a postgresql connectionPool","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"connectionPoolId","description":"Connection pool ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/connectionPool/{connectionPoolId}\")\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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/connectionPool/{connectionPoolId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/postgresql/connectionPool/delete","required":true}]},"get":{"summary":"Get the connectionPool for the postgresql cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"connectionPoolId","description":"Connection pool ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.postgresql.ConnectionPool"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/connectionPool/{connectionPoolId}\")\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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/connectionPool/{connectionPoolId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/postgresql/connectionPool/get","required":true}],"x-response-identifier":"id"},"put":{"summary":"Update a connectionPool on the postgresql cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"connectionPoolId","description":"Connection pool ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.postgresql.ConnectionPool"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.postgresql.ConnectionPool"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.postgresql.ConnectionPool\nresult = client.put(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/connectionPool/{connectionPoolId}\",\n\tdatabaseId = None, # Database used for the connection pool (type: string)\n\tmode = None, # Connection mode to the connection pool (type: cloud.project.database.postgresql.connectionpool.ModeEnum)\n\tsize = None, # Size of the connection pool (type: integer)\n\tuserId = None, # User authorized to connect to the pool, if none all the users are allowed (type: string, nullable)\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: cloud.project.database.postgresql.ConnectionPool\n$result = $ovh->put(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/connectionPool/{connectionPoolId}\", array(\n\tdatabaseId => null, // Database used for the connection pool (type: string)\n\tmode => null, // Connection mode to the connection pool (type: cloud.project.database.postgresql.connectionpool.ModeEnum)\n\tsize => null, // Size of the connection pool (type: integer)\n\tuserId => null, // User authorized to connect to the pool, if none all the users are allowed (type: string, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/postgresql/connectionPool/edit","required":true}]}},"/cloud/project/{serviceName}/database/postgresql/{clusterId}/currentQueries":{"get":{"summary":"Retrieve the current queries for the cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"query","name":"limit","description":"Limit size of the result set returned by the pagination","schema":{"type":"integer"}},{"in":"query","name":"offset","description":"Offset of the result set returned by the pagination","schema":{"type":"integer"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.CurrentQueries"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/currentQueries\")\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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/currentQueries\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/postgresql/currentQueries/get","required":true}]}},"/cloud/project/{serviceName}/database/postgresql/{clusterId}/currentQueries/cancel":{"post":{"summary":"Cancel the given current query of the cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.currentqueries.query.CancelRequest"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.currentqueries.query.CancelResponse"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.service.currentqueries.query.CancelRequest\nresult = client.post(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/currentQueries/cancel\",\n\tpid = None, # Database server connection ID (type: integer)\n\tterminate = None, # Request immediate termination instead of soft cancel (type: boolean)\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: cloud.project.database.service.currentqueries.query.CancelRequest\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/currentQueries/cancel\", array(\n\tpid => null, // Database server connection ID (type: integer)\n\tterminate => null, // Request immediate termination instead of soft cancel (type: boolean)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/postgresql/currentQueries/cancel","required":true}]}},"/cloud/project/{serviceName}/database/postgresql/{clusterId}/database":{"get":{"security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/database\")\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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/database\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/postgresql/database/get","required":true}],"x-expanded-response":"CloudProjectDatabaseServiceDatabase"},"post":{"summary":"Create a new database on the postgresql cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Database"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Database"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.service.Database\nresult = client.post(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/database\",\n\tname = None, # Database name (type: string)\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: cloud.project.database.service.Database\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/database\", array(\n\tname => null, // Database name (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/postgresql/database/create","required":true}]}},"/cloud/project/{serviceName}/database/postgresql/{clusterId}/database/{databaseId}":{"delete":{"summary":"Delete a postgresql database","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"databaseId","description":"Database ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/database/{databaseId}\")\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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/database/{databaseId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/postgresql/database/delete","required":true}]},"get":{"summary":"Get the database for the postgresql cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"databaseId","description":"Database ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Database"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/database/{databaseId}\")\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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/database/{databaseId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/postgresql/database/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/database/postgresql/{clusterId}/enableWrites":{"post":{"summary":"Enable temporary write permission on readonly lock postgresql service","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.TemporaryWriteDeadline"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/enableWrites\")\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->post(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/enableWrites\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/postgresql/enableWrites","required":true}]}},"/cloud/project/{serviceName}/database/postgresql/{clusterId}/integration":{"get":{"summary":"List integrations","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/integration\")\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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/integration\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/postgresql/integration/get","required":true}],"x-expanded-response":"CloudProjectDatabaseServiceIntegration"},"post":{"summary":"Create a new integration","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Integration"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Integration"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.service.Integration\nresult = client.post(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/integration\",\n\tdestinationServiceId = None, # ID of the destination service (type: string)\n\tparameters = None, # Parameters for the integration (type: object, nullable)\n\tsourceServiceId = None, # ID of the source service (type: string)\n\ttype = None, # Type of the integration (type: cloud.project.database.service.integration.TypeEnum)\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: cloud.project.database.service.Integration\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/integration\", array(\n\tdestinationServiceId => null, // ID of the destination service (type: string)\n\tparameters => null, // Parameters for the integration (type: object, nullable)\n\tsourceServiceId => null, // ID of the source service (type: string)\n\ttype => null, // Type of the integration (type: cloud.project.database.service.integration.TypeEnum)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/postgresql/integration/create","required":true}]}},"/cloud/project/{serviceName}/database/postgresql/{clusterId}/integration/{integrationId}":{"delete":{"summary":"Delete an integration","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"integrationId","description":"Integration ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/integration/{integrationId}\")\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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/integration/{integrationId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/postgresql/integration/delete","required":true}]},"get":{"summary":"Get an integration","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"integrationId","description":"Integration ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Integration"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/integration/{integrationId}\")\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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/integration/{integrationId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/postgresql/integration/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/database/postgresql/{clusterId}/log/kind":{"get":{"summary":"List available log kinds","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/log/kind\")\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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/log/kind\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/postgresql/log/kind/get","required":true}],"x-expanded-response":"DbaasLogsLogKind"}},"/cloud/project/{serviceName}/database/postgresql/{clusterId}/log/kind/{name}":{"get":{"summary":"Get a log kind","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"name","description":"Name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogKind"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/log/kind/{name}\")\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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/log/kind/{name}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/postgresql/log/kind/get","required":true}],"x-response-identifier":"name"}},"/cloud/project/{serviceName}/database/postgresql/{clusterId}/log/subscription":{"get":{"summary":"List subscription IDs for a cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"query","name":"kind","description":"Filter on a specific kind (e.g., audit)","schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/log/subscription\")\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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/log/subscription\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/postgresql/log/subscription/get","required":true}],"x-expanded-response":"DbaasLogsLogSubscription"},"post":{"summary":"Create subscription to log to customer for a postgresql","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscriptionCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscriptionResponse"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: dbaas.logs.LogSubscriptionCreation\nresult = client.post(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/log/subscription\",\n\tkind = None, # Log kind name to subscribe to (type: string)\n\tstreamId = None, # Customer log stream ID (type: string)\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: dbaas.logs.LogSubscriptionCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/log/subscription\", array(\n\tkind => null, // Log kind name to subscribe to (type: string)\n\tstreamId => null, // Customer log stream ID (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/postgresql/log/subscription/create","required":true},{"name":"ldp:apiovh:output/graylog/stream/forwardTo","description":"Required on the targeted LDP service","required":true}]}},"/cloud/project/{serviceName}/database/postgresql/{clusterId}/log/subscription/{subscriptionId}":{"delete":{"summary":"Delete a subscription","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"subscriptionId","description":"Subscription ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscriptionResponse"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/log/subscription/{subscriptionId}\")\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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/log/subscription/{subscriptionId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/postgresql/log/subscription/delete","required":true}]},"get":{"summary":"Get subscription details","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"subscriptionId","description":"Subscription ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscription"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/log/subscription/{subscriptionId}\")\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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/log/subscription/{subscriptionId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/postgresql/log/subscription/get","required":true}],"x-response-identifier":"subscriptionId"}},"/cloud/project/{serviceName}/database/postgresql/{clusterId}/log/url":{"post":{"summary":"Generate a temporary URL to retrieve logs","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogUrlCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.TemporaryLogsLink"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: dbaas.logs.LogUrlCreation\nresult = client.post(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/log/url\",\n\tkind = None, # Log kind name (type: string)\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: dbaas.logs.LogUrlCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/log/url\", array(\n\tkind => null, // Log kind name (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/postgresql/log/url/create","required":true}]}},"/cloud/project/{serviceName}/database/postgresql/{clusterId}/logs":{"get":{"summary":"Retrieve the most recent postgresql log messages (limited to 1000)","deprecated":true,"x-deprecation-date":"2026-07-01T00:00:00Z","x-deletion-date":"2027-01-01T00:00:00Z","x-replacement-route":"/1.0/cloud/project/{serviceName}/database/postgresql/{productID}/log/subscription","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.database.service.LogEntry"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"red","label":"Deprecated, will be removed"}],"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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/logs\")\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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/logs\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/postgresql/logs/get","required":true}]}},"/cloud/project/{serviceName}/database/postgresql/{clusterId}/maintenance":{"get":{"summary":"List maintenances for the postgresql cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/maintenance\")\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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/maintenance\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/postgresql/maintenance/get","required":true}],"x-expanded-response":"CloudProjectDatabaseServiceMaintenance"}},"/cloud/project/{serviceName}/database/postgresql/{clusterId}/maintenance/{maintenanceId}":{"get":{"summary":"Get the maintenance for the postgresql cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"maintenanceId","description":"Maintenance ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Maintenance"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/maintenance/{maintenanceId}\")\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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/maintenance/{maintenanceId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/postgresql/maintenance/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/database/postgresql/{clusterId}/maintenance/{maintenanceId}/apply":{"post":{"summary":"Apply the maintenance","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"maintenanceId","description":"Maintenance ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Maintenance"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/maintenance/{maintenanceId}/apply\")\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->post(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/maintenance/{maintenanceId}/apply\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/postgresql/maintenance/apply","required":true}]}},"/cloud/project/{serviceName}/database/postgresql/{clusterId}/metric":{"get":{"summary":"List available metrics for the postgresql cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"query","name":"extended","description":"Display DB specific metrics","schema":{"type":"boolean"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/metric\")\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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/metric\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/postgresql/metric/get","required":true}],"x-expanded-response":"CloudProjectDatabaseServiceMetric"}},"/cloud/project/{serviceName}/database/postgresql/{clusterId}/metric/{metricName}":{"get":{"summary":"Get the metric values for the postgresql cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"metricName","description":"Metric name","required":true,"schema":{"type":"string"}},{"in":"query","name":"period","description":"The period of time to query metrics for","required":true,"schema":{"$ref":"#/components/schemas/cloud.project.database.service.MetricPeriodEnum"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Metric"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/metric/{metricName}\")\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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/metric/{metricName}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/postgresql/metric/get","required":true}],"x-response-identifier":"name"}},"/cloud/project/{serviceName}/database/postgresql/{clusterId}/node":{"get":{"summary":"List nodes of the postgresql","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/node\")\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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/node\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/postgresql/node/get","required":true}],"x-expanded-response":"CloudProjectDatabaseServiceNode"}},"/cloud/project/{serviceName}/database/postgresql/{clusterId}/node/{nodeId}":{"get":{"summary":"Get postgresql nodes","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"nodeId","description":"Node ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Node"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/node/{nodeId}\")\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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/node/{nodeId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/postgresql/node/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/database/postgresql/{clusterId}/prometheus":{"get":{"summary":"Get the endpoint for PostgreSQL cluster Prometheus","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.PrometheusEndpoint"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/prometheus\")\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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/prometheus\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/postgresql/prometheus/get","required":true}],"x-response-identifier":"username"}},"/cloud/project/{serviceName}/database/postgresql/{clusterId}/prometheus/credentials/reset":{"post":{"summary":"Reset the password of a Prometheus","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.PrometheusAccess"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/prometheus/credentials/reset\")\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->post(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/prometheus/credentials/reset\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/postgresql/prometheus/credentials/reset","required":true}]}},"/cloud/project/{serviceName}/database/postgresql/{clusterId}/queryStatistics":{"get":{"summary":"Retrieve the query statistics for the cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"query","name":"limit","description":"Limit size of the result set returned by the pagination","schema":{"type":"integer"}},{"in":"query","name":"offset","description":"Offset of the result set returned by the pagination","schema":{"type":"integer"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.postgresql.QueryStatistics"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/queryStatistics\")\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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/queryStatistics\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/postgresql/queryStatistics/get","required":true}]}},"/cloud/project/{serviceName}/database/postgresql/{clusterId}/queryStatistics/reset":{"post":{"summary":"Reset the query statistics of the cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/queryStatistics/reset\")\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->post(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/queryStatistics/reset\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/postgresql/queryStatistics/reset","required":true}]}},"/cloud/project/{serviceName}/database/postgresql/{clusterId}/roles":{"get":{"summary":"Get postgresql roles","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/roles\")\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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/roles\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/postgresql/roles/get","required":true}]}},"/cloud/project/{serviceName}/database/postgresql/{clusterId}/user":{"get":{"summary":"List users of the postgresql","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/user\")\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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/user\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/postgresql/user/get","required":true}],"x-expanded-response":"CloudProjectDatabaseServiceUserWithRoles"},"post":{"summary":"Create a new user on the postgresql cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.UserWithRolesCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.UserWithPasswordAndRoles"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.service.UserWithRolesCreation\nresult = client.post(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/user\",\n\tname = None, # Name of the user (type: string)\n\troles = None, # Roles the user belongs to (type: array)\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: cloud.project.database.service.UserWithRolesCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/user\", array(\n\tname => null, // Name of the user (type: string)\n\troles => null, // Roles the user belongs to (type: array)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/postgresql/user/create","required":true}]}},"/cloud/project/{serviceName}/database/postgresql/{clusterId}/user/{userId}":{"delete":{"summary":"Delete a postgresql user","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"userId","description":"User ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/user/{userId}\")\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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/user/{userId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/postgresql/user/delete","required":true}]},"get":{"summary":"Get postgresql users","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"userId","description":"User ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.UserWithRoles"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/user/{userId}\")\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(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/user/{userId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/postgresql/user/get","required":true}],"x-response-identifier":"id"},"put":{"summary":"Updates the user on the postgresql cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"userId","description":"User ID","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.UserWithRoles"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.UserWithRoles"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.service.UserWithRoles\nresult = client.put(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/user/{userId}\",\n\troles = None, # Roles the user belongs to (type: array)\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: cloud.project.database.service.UserWithRoles\n$result = $ovh->put(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/user/{userId}\", array(\n\troles => null, // Roles the user belongs to (type: array)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/postgresql/user/edit","required":true}]}},"/cloud/project/{serviceName}/database/postgresql/{clusterId}/user/{userId}/credentials/reset":{"post":{"summary":"Reset the password of a user","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"userId","description":"User ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.UserWithPasswordAndRoles"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/user/{userId}/credentials/reset\")\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->post(\"/cloud/project/{serviceName}/database/postgresql/{clusterId}/user/{userId}/credentials/reset\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/postgresql/user/credentials/reset","required":true}]}},"/cloud/project/{serviceName}/database/service":{"get":{"summary":"List database services of the project","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"query","name":"category","description":"Category on which restrict the search on services","schema":{"$ref":"#/components/schemas/cloud.project.database.engine.CategoryEnum"}},{"in":"query","name":"engine","description":"Name of the engine on which restrict the search on services","schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.database.EngineEnum"}}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/service\")\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(\"/cloud/project/{serviceName}/database/service\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/service/get","required":true}],"x-expanded-response":"CloudProjectDatabaseService"}},"/cloud/project/{serviceName}/database/service/{clusterId}":{"get":{"summary":"Get service cluster properties","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.Service"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/service/{clusterId}\")\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(\"/cloud/project/{serviceName}/database/service/{clusterId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/service/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/database/valkey":{"get":{"summary":"List all the valkey of the project","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/valkey\")\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(\"/cloud/project/{serviceName}/database/valkey\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/valkey/get","required":true}],"x-expanded-response":"CloudProjectDatabaseService"},"post":{"summary":"Create a new valkey cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.ServiceCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.Service"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.ServiceCreation\nresult = client.post(\"/cloud/project/{serviceName}/database/valkey\",\n\tbackup = None, # Backup from which the new service is created. DEPRECATED: use forkFrom (type: cloud.project.database.service.creation.BackupFork, nullable)\n\tbackupTime = None, # Time on which backups start every day. DEPRECATED: use backups.time (type: time, nullable)\n\tbackups = None, # Information related to the backups, null if the engine does not support backups (type: cloud.project.database.service.Backup, nullable)\n\tdescription = None, # Description of the cluster (type: string)\n\tdisk = None, # Disk attributes of the cluster (type: cloud.project.database.service.Disk)\n\tforkFrom = None, # Backup from which the new service is created (type: cloud.project.database.service.creation.ForkFrom, nullable)\n\tipRestrictions = None, # IP Blocks authorized to access to the cluster (type: array)\n\tmaintenanceTime = None, # Time on which maintenances can start every day (type: time, nullable)\n\tnetworkId = None, # Private network ID in which the cluster is (type: string, nullable)\n\tnodesList = None, # List of nodes in the cluster, not compatible with nodesPattern (type: array, nullable)\n\tnodesPattern = None, # Pattern definition of the nodes in the cluster, not compatible with nodesList (type: cloud.project.database.service.NodePattern, nullable)\n\tplan = None, # Plan of the cluster (type: string)\n\tsubnetId = None, # Private subnet ID in which the cluster is (type: string, nullable)\n\tversion = None, # Version of the engine deployed on the cluster (type: string)\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: cloud.project.database.ServiceCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/valkey\", array(\n\tbackup => null, // Backup from which the new service is created. DEPRECATED: use forkFrom (type: cloud.project.database.service.creation.BackupFork, nullable)\n\tbackupTime => null, // Time on which backups start every day. DEPRECATED: use backups.time (type: time, nullable)\n\tbackups => null, // Information related to the backups, null if the engine does not support backups (type: cloud.project.database.service.Backup, nullable)\n\tdescription => null, // Description of the cluster (type: string)\n\tdisk => null, // Disk attributes of the cluster (type: cloud.project.database.service.Disk)\n\tforkFrom => null, // Backup from which the new service is created (type: cloud.project.database.service.creation.ForkFrom, nullable)\n\tipRestrictions => null, // IP Blocks authorized to access to the cluster (type: array)\n\tmaintenanceTime => null, // Time on which maintenances can start every day (type: time, nullable)\n\tnetworkId => null, // Private network ID in which the cluster is (type: string, nullable)\n\tnodesList => null, // List of nodes in the cluster, not compatible with nodesPattern (type: array, nullable)\n\tnodesPattern => null, // Pattern definition of the nodes in the cluster, not compatible with nodesList (type: cloud.project.database.service.NodePattern, nullable)\n\tplan => null, // Plan of the cluster (type: string)\n\tsubnetId => null, // Private subnet ID in which the cluster is (type: string, nullable)\n\tversion => null, // Version of the engine deployed on the cluster (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/valkey/create","required":true}]}},"/cloud/project/{serviceName}/database/valkey/{clusterId}":{"delete":{"summary":"Delete a valkey cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}\")\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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/valkey/delete","required":true}]},"get":{"summary":"Get valkey cluster properties","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.Service"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}\")\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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/valkey/get","required":true}],"x-response-identifier":"id"},"put":{"summary":"Update an existing valkey cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.Service"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.Service"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.Service\nresult = client.put(\"/cloud/project/{serviceName}/database/valkey/{clusterId}\",\n\tbackupTime = None, # Time on which backups start every day. DEPRECATED: use backups.time (type: time)\n\tbackups = None, # Information related to the backups, null if the engine does not support backups (type: cloud.project.database.service.Backup, nullable)\n\tdeletionProtection = None, # Enable deletion protection (type: boolean, nullable)\n\tdescription = None, # Description of the cluster (type: string)\n\tdisk = None, # Disk attributes of the cluster. DEPRECATED: use storage (type: cloud.project.database.service.Disk)\n\tenablePrometheus = None, # Enable Prometheus (type: boolean, nullable)\n\tflavor = None, # The VM flavor used for this cluster (type: string)\n\tipRestrictions = None, # IP Blocks authorized to access to the cluster (type: array)\n\tmaintenanceTime = None, # Time on which maintenances can start every day (type: time)\n\tnetworkId = None, # Private network ID in which the cluster is (type: string, nullable)\n\tnodeNumber = None, # Number of nodes in the cluster. DEPRECATED: use nodes (type: integer)\n\tplan = None, # Plan of the cluster (type: string)\n\tstorage = None, # Storage attributes of the cluster (type: cloud.project.database.service.Storage, nullable)\n\tsubnetId = None, # Private subnet ID in which the cluster is (type: string, nullable)\n\tversion = None, # Version of the engine deployed on the cluster (type: string)\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: cloud.project.database.Service\n$result = $ovh->put(\"/cloud/project/{serviceName}/database/valkey/{clusterId}\", array(\n\tbackupTime => null, // Time on which backups start every day. DEPRECATED: use backups.time (type: time)\n\tbackups => null, // Information related to the backups, null if the engine does not support backups (type: cloud.project.database.service.Backup, nullable)\n\tdeletionProtection => null, // Enable deletion protection (type: boolean, nullable)\n\tdescription => null, // Description of the cluster (type: string)\n\tdisk => null, // Disk attributes of the cluster. DEPRECATED: use storage (type: cloud.project.database.service.Disk)\n\tenablePrometheus => null, // Enable Prometheus (type: boolean, nullable)\n\tflavor => null, // The VM flavor used for this cluster (type: string)\n\tipRestrictions => null, // IP Blocks authorized to access to the cluster (type: array)\n\tmaintenanceTime => null, // Time on which maintenances can start every day (type: time)\n\tnetworkId => null, // Private network ID in which the cluster is (type: string, nullable)\n\tnodeNumber => null, // Number of nodes in the cluster. DEPRECATED: use nodes (type: integer)\n\tplan => null, // Plan of the cluster (type: string)\n\tstorage => null, // Storage attributes of the cluster (type: cloud.project.database.service.Storage, nullable)\n\tsubnetId => null, // Private subnet ID in which the cluster is (type: string, nullable)\n\tversion => null, // Version of the engine deployed on the cluster (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/valkey/edit","required":true}]}},"/cloud/project/{serviceName}/database/valkey/{clusterId}/advancedConfiguration":{"get":{"summary":"Get valkey advanced configuration","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/advancedConfiguration\")\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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/advancedConfiguration\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/valkey/advancedConfiguration/get","required":true}]},"put":{"summary":"Update valkey advanced configuration","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: map[string]string\nresult = client.put(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/advancedConfiguration\",\n\tdata = None, # (type: map[string]string)\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: map[string]string\n$result = $ovh->put(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/advancedConfiguration\", array(\n\tdata => null, // (type: map[string]string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/valkey/advancedConfiguration/edit","required":true}]}},"/cloud/project/{serviceName}/database/valkey/{clusterId}/backup":{"get":{"summary":"List backups of the valkey","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/backup\")\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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/backup\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/valkey/backup/get","required":true}],"x-expanded-response":"CloudProjectDatabaseBackup"}},"/cloud/project/{serviceName}/database/valkey/{clusterId}/backup/{backupId}":{"get":{"summary":"Get valkey backups","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"backupId","description":"Backup ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.Backup"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/backup/{backupId}\")\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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/backup/{backupId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/valkey/backup/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/database/valkey/{clusterId}/capabilities/advancedConfiguration":{"get":{"summary":"Get valkey advanced configuration fields","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.database.capabilities.advancedConfiguration.Property"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/capabilities/advancedConfiguration\")\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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/capabilities/advancedConfiguration\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/valkey/capabilities/advancedConfiguration/get","required":true}]}},"/cloud/project/{serviceName}/database/valkey/{clusterId}/capabilities/backupRegions":{"get":{"summary":"Get backup region capabilities related to the valkey service","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/capabilities/backupRegions\")\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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/capabilities/backupRegions\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/valkey/capabilities/backupRegions/get","required":true}]}},"/cloud/project/{serviceName}/database/valkey/{clusterId}/capabilities/categories":{"get":{"summary":"Get available categories in the valkey service","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/capabilities/categories\")\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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/capabilities/categories\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/valkey/capabilities/categories/get","required":true}]}},"/cloud/project/{serviceName}/database/valkey/{clusterId}/capabilities/commands":{"get":{"summary":"Get available commands in the valkey service","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/capabilities/commands\")\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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/capabilities/commands\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/valkey/capabilities/commands/get","required":true}]}},"/cloud/project/{serviceName}/database/valkey/{clusterId}/capabilities/integration":{"get":{"summary":"Get integration capabilities related to the valkey service","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.database.capabilities.Integration"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/capabilities/integration\")\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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/capabilities/integration\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/valkey/capabilities/integration/get","required":true}]}},"/cloud/project/{serviceName}/database/valkey/{clusterId}/integration":{"get":{"summary":"List integrations","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/integration\")\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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/integration\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/valkey/integration/get","required":true}],"x-expanded-response":"CloudProjectDatabaseServiceIntegration"},"post":{"summary":"Create a new integration","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Integration"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Integration"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.service.Integration\nresult = client.post(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/integration\",\n\tdestinationServiceId = None, # ID of the destination service (type: string)\n\tparameters = None, # Parameters for the integration (type: object, nullable)\n\tsourceServiceId = None, # ID of the source service (type: string)\n\ttype = None, # Type of the integration (type: cloud.project.database.service.integration.TypeEnum)\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: cloud.project.database.service.Integration\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/integration\", array(\n\tdestinationServiceId => null, // ID of the destination service (type: string)\n\tparameters => null, // Parameters for the integration (type: object, nullable)\n\tsourceServiceId => null, // ID of the source service (type: string)\n\ttype => null, // Type of the integration (type: cloud.project.database.service.integration.TypeEnum)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/valkey/integration/create","required":true}]}},"/cloud/project/{serviceName}/database/valkey/{clusterId}/integration/{integrationId}":{"delete":{"summary":"Delete an integration","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"integrationId","description":"Integration ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/integration/{integrationId}\")\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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/integration/{integrationId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/valkey/integration/delete","required":true}]},"get":{"summary":"Get an integration","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"integrationId","description":"Integration ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Integration"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/integration/{integrationId}\")\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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/integration/{integrationId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/valkey/integration/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/database/valkey/{clusterId}/log/kind":{"get":{"summary":"List available log kinds","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/log/kind\")\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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/log/kind\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/valkey/log/kind/get","required":true}],"x-expanded-response":"DbaasLogsLogKind"}},"/cloud/project/{serviceName}/database/valkey/{clusterId}/log/kind/{name}":{"get":{"summary":"Get a log kind","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"name","description":"Name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogKind"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/log/kind/{name}\")\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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/log/kind/{name}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/valkey/log/kind/get","required":true}],"x-response-identifier":"name"}},"/cloud/project/{serviceName}/database/valkey/{clusterId}/log/subscription":{"get":{"summary":"List subscription IDs for a cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"query","name":"kind","description":"Filter on a specific kind (e.g., audit)","schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/log/subscription\")\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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/log/subscription\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/valkey/log/subscription/get","required":true}],"x-expanded-response":"DbaasLogsLogSubscription"},"post":{"summary":"Create subscription to log to customer for a valkey","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscriptionCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscriptionResponse"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: dbaas.logs.LogSubscriptionCreation\nresult = client.post(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/log/subscription\",\n\tkind = None, # Log kind name to subscribe to (type: string)\n\tstreamId = None, # Customer log stream ID (type: string)\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: dbaas.logs.LogSubscriptionCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/log/subscription\", array(\n\tkind => null, // Log kind name to subscribe to (type: string)\n\tstreamId => null, // Customer log stream ID (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/valkey/log/subscription/create","required":true},{"name":"ldp:apiovh:output/graylog/stream/forwardTo","description":"Required on the targeted LDP service","required":true}]}},"/cloud/project/{serviceName}/database/valkey/{clusterId}/log/subscription/{subscriptionId}":{"delete":{"summary":"Delete a subscription","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"subscriptionId","description":"Subscription ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscriptionResponse"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/log/subscription/{subscriptionId}\")\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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/log/subscription/{subscriptionId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/valkey/log/subscription/delete","required":true}]},"get":{"summary":"Get subscription details","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"subscriptionId","description":"Subscription ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscription"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/log/subscription/{subscriptionId}\")\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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/log/subscription/{subscriptionId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/valkey/log/subscription/get","required":true}],"x-response-identifier":"subscriptionId"}},"/cloud/project/{serviceName}/database/valkey/{clusterId}/log/url":{"post":{"summary":"Generate a temporary URL to retrieve logs","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogUrlCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.TemporaryLogsLink"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: dbaas.logs.LogUrlCreation\nresult = client.post(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/log/url\",\n\tkind = None, # Log kind name (type: string)\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: dbaas.logs.LogUrlCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/log/url\", array(\n\tkind => null, // Log kind name (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/valkey/log/url/create","required":true}]}},"/cloud/project/{serviceName}/database/valkey/{clusterId}/logs":{"get":{"summary":"Retrieve the most recent valkey log messages (limited to 1000)","deprecated":true,"x-deprecation-date":"2026-07-01T00:00:00Z","x-deletion-date":"2027-01-01T00:00:00Z","x-replacement-route":"/1.0/cloud/project/{serviceName}/database/valkey/{productID}/log/subscription","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.database.service.LogEntry"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"red","label":"Deprecated, will be removed"}],"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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/logs\")\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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/logs\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/valkey/logs/get","required":true}]}},"/cloud/project/{serviceName}/database/valkey/{clusterId}/maintenance":{"get":{"summary":"List maintenances for the valkey cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/maintenance\")\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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/maintenance\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/valkey/maintenance/get","required":true}],"x-expanded-response":"CloudProjectDatabaseServiceMaintenance"}},"/cloud/project/{serviceName}/database/valkey/{clusterId}/maintenance/{maintenanceId}":{"get":{"summary":"Get the maintenance for the valkey cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"maintenanceId","description":"Maintenance ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Maintenance"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/maintenance/{maintenanceId}\")\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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/maintenance/{maintenanceId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/valkey/maintenance/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/database/valkey/{clusterId}/maintenance/{maintenanceId}/apply":{"post":{"summary":"Apply the maintenance","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"maintenanceId","description":"Maintenance ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Maintenance"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/maintenance/{maintenanceId}/apply\")\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->post(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/maintenance/{maintenanceId}/apply\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/valkey/maintenance/apply","required":true}]}},"/cloud/project/{serviceName}/database/valkey/{clusterId}/metric":{"get":{"summary":"List available metrics for the valkey cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"query","name":"extended","description":"Display DB specific metrics","schema":{"type":"boolean"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/metric\")\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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/metric\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/valkey/metric/get","required":true}],"x-expanded-response":"CloudProjectDatabaseServiceMetric"}},"/cloud/project/{serviceName}/database/valkey/{clusterId}/metric/{metricName}":{"get":{"summary":"Get the metric values for the valkey cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"metricName","description":"Metric name","required":true,"schema":{"type":"string"}},{"in":"query","name":"period","description":"The period of time to query metrics for","required":true,"schema":{"$ref":"#/components/schemas/cloud.project.database.service.MetricPeriodEnum"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Metric"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/metric/{metricName}\")\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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/metric/{metricName}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/valkey/metric/get","required":true}],"x-response-identifier":"name"}},"/cloud/project/{serviceName}/database/valkey/{clusterId}/node":{"get":{"summary":"List nodes of the valkey","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/node\")\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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/node\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/valkey/node/get","required":true}],"x-expanded-response":"CloudProjectDatabaseServiceNode"}},"/cloud/project/{serviceName}/database/valkey/{clusterId}/node/{nodeId}":{"get":{"summary":"Get valkey nodes","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"nodeId","description":"Node ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.Node"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/node/{nodeId}\")\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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/node/{nodeId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/valkey/node/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/database/valkey/{clusterId}/prometheus":{"get":{"summary":"Get the endpoint for valkey cluster Prometheus","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.PrometheusEndpoint"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/prometheus\")\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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/prometheus\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/valkey/prometheus/get","required":true}],"x-response-identifier":"username"}},"/cloud/project/{serviceName}/database/valkey/{clusterId}/prometheus/credentials/reset":{"post":{"summary":"Reset the password of a Prometheus","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.service.PrometheusAccess"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/prometheus/credentials/reset\")\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->post(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/prometheus/credentials/reset\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/valkey/prometheus/credentials/reset","required":true}]}},"/cloud/project/{serviceName}/database/valkey/{clusterId}/user":{"get":{"summary":"List users of the valkey","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/user\")\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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/user\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/valkey/user/get","required":true}],"x-expanded-response":"CloudProjectDatabaseValkeyUser"},"post":{"summary":"Create a new user on the valkey cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.valkey.UserCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.valkey.UserWithPassword"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.valkey.UserCreation\nresult = client.post(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/user\",\n\tcategories = None, # Categories of the user (type: array)\n\tchannels = None, # Channels of the user (type: array)\n\tcommands = None, # Commands of the user (type: array)\n\tkeys = None, # Keys of the user (type: array)\n\tname = None, # Name of the user (type: string)\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: cloud.project.database.valkey.UserCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/user\", array(\n\tcategories => null, // Categories of the user (type: array)\n\tchannels => null, // Channels of the user (type: array)\n\tcommands => null, // Commands of the user (type: array)\n\tkeys => null, // Keys of the user (type: array)\n\tname => null, // Name of the user (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/valkey/user/create","required":true}]}},"/cloud/project/{serviceName}/database/valkey/{clusterId}/user/{userId}":{"delete":{"summary":"Delete a valkey user","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"userId","description":"User ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/user/{userId}\")\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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/user/{userId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/valkey/user/delete","required":true}]},"get":{"summary":"Get valkey users","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"userId","description":"User ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.valkey.User"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/user/{userId}\")\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(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/user/{userId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/valkey/user/get","required":true}],"x-response-identifier":"id"},"put":{"summary":"Update a user on the valkey cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"userId","description":"User ID","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.valkey.User"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.valkey.User"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.project.database.valkey.User\nresult = client.put(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/user/{userId}\",\n\tcategories = None, # Categories of the user (type: array)\n\tchannels = None, # Channels of the user (type: array)\n\tcommands = None, # Commands of the user (type: array)\n\tkeys = None, # Keys of the user (type: array)\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: cloud.project.database.valkey.User\n$result = $ovh->put(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/user/{userId}\", array(\n\tcategories => null, // Categories of the user (type: array)\n\tchannels => null, // Channels of the user (type: array)\n\tcommands => null, // Commands of the user (type: array)\n\tkeys => null, // Keys of the user (type: array)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/valkey/user/edit","required":true}]}},"/cloud/project/{serviceName}/database/valkey/{clusterId}/user/{userId}/credentials/reset":{"post":{"summary":"Reset the password of a user","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"clusterId","description":"Cluster ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"userId","description":"User ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.database.valkey.UserWithPassword"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::AtLeastOneNode":{"value":{"class":"Client::BadRequest::AtLeastOneNode","message":"At least one node must be specified"}},"Client::BadRequest::FlavorDiskSizeTooLow":{"value":{"class":"Client::BadRequest::FlavorDiskSizeTooLow","message":"Requested flavor {{.flavor}} does not offer enough disk space. It has {{.flavorDisk}} GB while at least {{.currentDisk}} is required"}},"Client::BadRequest::NoUpdate":{"value":{"class":"Client::BadRequest::NoUpdate","message":"No update required"}},"Client::BadRequest::NodesFlavorMismatch":{"value":{"class":"Client::BadRequest::NodesFlavorMismatch","message":"All the nodes must have the same flavor"}},"Client::BadRequest::NodesRegionMismatch":{"value":{"class":"Client::BadRequest::NodesRegionMismatch","message":"All the nodes must be in the same region"}},"Client::BadRequest::NotEnoughNodes":{"value":{"class":"Client::BadRequest::NotEnoughNodes","message":"Minimum number of nodes for your offer is {{.minimum}}"}},"Client::BadRequest::OnlyNodeListOrPattern":{"value":{"class":"Client::BadRequest::OnlyNodeListOrPattern","message":"You can only specify either nodeList or nodePattern, not both"}},"Client::BadRequest::TooManyNodes":{"value":{"class":"Client::BadRequest::TooManyNodes","message":"Maximum number of nodes for your offer is {{.maximum}}"}},"Client::BadRequest::UserInvalidNameFormat":{"value":{"class":"Client::BadRequest::UserInvalidNameFormat","message":"Username cannot contain any of '{{.forbidden}}'"}}}}}},"401":{"description":"Error 401 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Unauthorized::InvalidAuthToken":{"value":{"class":"Client::Unauthorized::InvalidAuthToken","message":"Invalid authorization token"}}}}}},"404":{"description":"Error 404 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::NotFound::AvailabilityDoesNotExistAnymore":{"value":{"class":"Client::NotFound::AvailabilityDoesNotExistAnymore","message":"Your offer is not available anymore"}},"Client::NotFound::AvailabilityNotFound":{"value":{"class":"Client::NotFound::AvailabilityNotFound","message":"Availability {{.availability}} does not exist"}},"Client::NotFound::BackupNotFound":{"value":{"class":"Client::NotFound::BackupNotFound","message":"Backup {{.backup}} does not exist"}},"Client::NotFound::BillingNotFound":{"value":{"class":"Client::NotFound::BillingNotFound","message":"Billing {{.billing}} does not exist"}},"Client::NotFound::EngineNameNotFound":{"value":{"class":"Client::NotFound::EngineNameNotFound","message":"Engine {{.name}} does not exist"}},"Client::NotFound::FlavorNameNotFound":{"value":{"class":"Client::NotFound::FlavorNameNotFound","message":"Flavor {{.flavor}} does not exist"}},"Client::NotFound::InsertIpRestrictionsMultipleServices":{"value":{"class":"Client::NotFound::InsertIpRestrictionsMultipleServices","message":"You can only add ip restrictions for one service at a time"}},"Client::NotFound::InvalidMetricName":{"value":{"class":"Client::NotFound::InvalidMetricName","message":"An invalid metric {{.metric}} was specified"}},"Client::NotFound::InvalidNodeNumber":{"value":{"class":"Client::NotFound::InvalidNodeNumber","message":"Invalid number of nodes {{.number}}"}},"Client::NotFound::IpRestrictionAlreadyExists":{"value":{"class":"Client::NotFound::IpRestrictionAlreadyExists","message":"Ip restriction {{.ip}} is set on your service"}},"Client::NotFound::IpRestrictionIDNotFound":{"value":{"class":"Client::NotFound::IpRestrictionIDNotFound","message":"Ip restriction {{.id}} does not exist"}},"Client::NotFound::IpRestrictionInvalidFormat":{"value":{"class":"Client::NotFound::IpRestrictionInvalidFormat","message":"{{.ip}} is not a valid ip restriction"}},"Client::NotFound::IpRestrictionNotFound":{"value":{"class":"Client::NotFound::IpRestrictionNotFound","message":"Ip restriction {{.ip}} does not exist"}},"Client::NotFound::NoMatchingAvailability":{"value":{"class":"Client::NotFound::NoMatchingAvailability","message":"No offer matches your expectations, please refer to the availability endpoint"}},"Client::NotFound::NodeNameNotFound":{"value":{"class":"Client::NotFound::NodeNameNotFound","message":"Node {{.name}} does not exist"}},"Client::NotFound::NodeNotFound":{"value":{"class":"Client::NotFound::NodeNotFound","message":"Node {{.node}} does not exist"}},"Client::NotFound::OrganizationNotFound":{"value":{"class":"Client::NotFound::OrganizationNotFound","message":"Organization {{.organization}} does not exist"}},"Client::NotFound::PlanInvalidUpgrade":{"value":{"class":"Client::NotFound::PlanInvalidUpgrade","message":"You cannot upgrade plan {{.current}} to {{.expected}}"}},"Client::NotFound::PlanNotFound":{"value":{"class":"Client::NotFound::PlanNotFound","message":"Plan {{.plan}} does not exist"}},"Client::NotFound::RegionNotFound":{"value":{"class":"Client::NotFound::RegionNotFound","message":"Region {{.region}} does not exist"}},"Client::NotFound::RoleNotFound":{"value":{"class":"Client::NotFound::RoleNotFound","message":"Role {{.role}} does not exist"}},"Client::NotFound::ServiceNotFound":{"value":{"class":"Client::NotFound::ServiceNotFound","message":"Service {{.service}} does not exist"}},"Client::NotFound::SslCertificateNotFound":{"value":{"class":"Client::NotFound::SslCertificateNotFound","message":"Certificate {{.sslCertificate}} does not exist"}},"Client::NotFound::UserNotFound":{"value":{"class":"Client::NotFound::UserNotFound","message":"User {{.user}} does not exist"}},"Client::NotFound::VersionNotFound":{"value":{"class":"Client::NotFound::VersionNotFound","message":"Version {{.version}} does not exist"}}}}}},"409":{"description":"Error 409 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Conflict::ServiceLocked":{"value":{"class":"Client::Conflict::ServiceLocked","message":"Service {{.service}} is locked in read-or-delete-only mode"}},"Client::Conflict::ServiceNotReady":{"value":{"class":"Client::Conflict::ServiceNotReady","message":"Service {{.service}} is not in state READY"}},"Client::Conflict::ServiceOnlyOneModification":{"value":{"class":"Client::Conflict::ServiceOnlyOneModification","message":"You can only ask for one modification at a time"}}}}}}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/user/{userId}/credentials/reset\")\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->post(\"/cloud/project/{serviceName}/database/valkey/{clusterId}/user/{userId}/credentials/reset\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:database/valkey/user/credentials/reset","required":true}]}},"/cloud/project/{serviceName}/flavor":{"get":{"operationId":"getFlavors","summary":"List all flavors for a public cloud project","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"query","name":"region","description":"Flavor region","schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.flavor.Flavor"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/flavor\")\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(\"/cloud/project/{serviceName}/flavor\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:flavor/get","required":true}],"x-response-identifier":"id","x-expanded-response":"CloudFlavorFlavor"}},"/cloud/project/{serviceName}/flavor/{flavorId}":{"get":{"operationId":"getFlavor","summary":"Get a specific flavor for a public cloud project","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"flavorId","description":"Flavor ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.flavor.Flavor"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/flavor/{flavorId}\")\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(\"/cloud/project/{serviceName}/flavor/{flavorId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:flavor/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/image":{"get":{"summary":"Get images","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"query","name":"flavorType","description":"Get compatible images with flavor type","schema":{"type":"string"}},{"in":"query","name":"osType","description":"Image OS","schema":{"$ref":"#/components/schemas/cloud.image.OSTypeEnum"}},{"in":"query","name":"region","description":"Image region","schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.image.Image"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/image\")\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(\"/cloud/project/{serviceName}/image\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:image/get","required":true}],"x-response-identifier":"id","x-expanded-response":"CloudImageImage"}},"/cloud/project/{serviceName}/image/{imageId}":{"get":{"summary":"Get image","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"imageId","description":"Image ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.image.Image"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/image/{imageId}\")\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(\"/cloud/project/{serviceName}/image/{imageId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:image/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/instance":{"get":{"summary":"Get instance","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"query","name":"region","description":"Instance region","schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.instance.Instance"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/instance\")\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(\"/cloud/project/{serviceName}/instance\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:instance/get","required":true}],"x-response-identifier":"id","x-expanded-response":"CloudInstanceInstance"},"post":{"summary":"Create a new instance","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ProjectInstanceCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.instance.Instance"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.ProjectInstanceCreation\nresult = client.post(\"/cloud/project/{serviceName}/instance\",\n\tautobackup = None, # Create an autobackup workflow after instance start up (type: cloud.instance.SimpleAutoBackup, nullable)\n\tavailabilityZone = None, # Availability zone to create the instance on (type: string, nullable)\n\tflavorId = None, # Instance flavor id (type: string)\n\tgroupId = None, # Start instance in group (type: string, nullable)\n\timageId = None, # Instance image id (type: string, nullable)\n\tmonthlyBilling = None, # Active monthly billing (type: boolean, nullable)\n\tname = None, # Instance name (type: string)\n\tnetworks = None, # Create network interfaces (type: array, nullable)\n\tregion = None, # Instance region (type: string)\n\tsshKeyId = None, # SSH keypair id (type: string, nullable)\n\tuserData = None, # Configuration information or scripts to use upon launch (type: string, nullable)\n\tvolumeId = None, # Specify a volume id to boot from it (type: string, nullable)\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: cloud.ProjectInstanceCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/instance\", array(\n\tautobackup => null, // Create an autobackup workflow after instance start up (type: cloud.instance.SimpleAutoBackup, nullable)\n\tavailabilityZone => null, // Availability zone to create the instance on (type: string, nullable)\n\tflavorId => null, // Instance flavor id (type: string)\n\tgroupId => null, // Start instance in group (type: string, nullable)\n\timageId => null, // Instance image id (type: string, nullable)\n\tmonthlyBilling => null, // Active monthly billing (type: boolean, nullable)\n\tname => null, // Instance name (type: string)\n\tnetworks => null, // Create network interfaces (type: array, nullable)\n\tregion => null, // Instance region (type: string)\n\tsshKeyId => null, // SSH keypair id (type: string, nullable)\n\tuserData => null, // Configuration information or scripts to use upon launch (type: string, nullable)\n\tvolumeId => null, // Specify a volume id to boot from it (type: string, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:instance/create","required":true}]}},"/cloud/project/{serviceName}/instance/bulk":{"post":{"summary":"Create multiple instances","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ProjectInstanceBulkCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.instance.Instance"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.ProjectInstanceBulkCreation\nresult = client.post(\"/cloud/project/{serviceName}/instance/bulk\",\n\tautobackup = None, # Create an autobackup workflow after instance start up (type: cloud.instance.SimpleAutoBackup, nullable)\n\tavailabilityZone = None, # Availability zone to create the instance on (type: string, nullable)\n\tflavorId = None, # Instance flavor id (type: string)\n\tgroupId = None, # Start instance in group (type: string, nullable)\n\timageId = None, # Instance image id (type: string, nullable)\n\tmonthlyBilling = None, # Active monthly billing (type: boolean, nullable)\n\tname = None, # Instance name (type: string)\n\tnetworks = None, # Create network interfaces (type: array, nullable)\n\tnumber = None, # Number of instances you want to create (type: integer)\n\tregion = None, # Instance region (type: string)\n\tsshKeyId = None, # SSH keypair id (type: string, nullable)\n\tuserData = None, # Configuration information or scripts to use upon launch (type: string, nullable)\n\tvolumeId = None, # Specify a volume id to boot from it (type: string, nullable)\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: cloud.ProjectInstanceBulkCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/instance/bulk\", array(\n\tautobackup => null, // Create an autobackup workflow after instance start up (type: cloud.instance.SimpleAutoBackup, nullable)\n\tavailabilityZone => null, // Availability zone to create the instance on (type: string, nullable)\n\tflavorId => null, // Instance flavor id (type: string)\n\tgroupId => null, // Start instance in group (type: string, nullable)\n\timageId => null, // Instance image id (type: string, nullable)\n\tmonthlyBilling => null, // Active monthly billing (type: boolean, nullable)\n\tname => null, // Instance name (type: string)\n\tnetworks => null, // Create network interfaces (type: array, nullable)\n\tnumber => null, // Number of instances you want to create (type: integer)\n\tregion => null, // Instance region (type: string)\n\tsshKeyId => null, // SSH keypair id (type: string, nullable)\n\tuserData => null, // Configuration information or scripts to use upon launch (type: string, nullable)\n\tvolumeId => null, // Specify a volume id to boot from it (type: string, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:instance/bulk/create","required":true}]}},"/cloud/project/{serviceName}/instance/group":{"get":{"summary":"Get the detail of a group","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"query","name":"region","description":"Instance region","schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.instancegroup.InstanceGroup"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/instance/group\")\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(\"/cloud/project/{serviceName}/instance/group\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:instance/group/get","required":true}],"x-response-identifier":"id","x-expanded-response":"CloudInstancegroupInstanceGroup"},"post":{"summary":"Create a group","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ProjectInstanceGroupCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.instancegroup.InstanceGroup"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.ProjectInstanceGroupCreation\nresult = client.post(\"/cloud/project/{serviceName}/instance/group\",\n\tname = None, # instance group name (type: string)\n\tregion = None, # Instance region (type: string)\n\ttype = None, # Instance group type (type: cloud.instancegroup.InstanceGroupTypeEnum)\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: cloud.ProjectInstanceGroupCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/instance/group\", array(\n\tname => null, // instance group name (type: string)\n\tregion => null, // Instance region (type: string)\n\ttype => null, // Instance group type (type: cloud.instancegroup.InstanceGroupTypeEnum)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:instance/group/create","required":true}]}},"/cloud/project/{serviceName}/instance/group/{groupId}":{"delete":{"summary":"Delete a group","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"groupId","description":"Group ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/instance/group/{groupId}\")\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(\"/cloud/project/{serviceName}/instance/group/{groupId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:instance/group/delete","required":true}]},"get":{"summary":"Get all groups","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"groupId","description":"Group ID","required":true,"schema":{"type":"string"}},{"in":"query","name":"region","description":"Instance region","schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.instancegroup.InstanceGroup"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/instance/group/{groupId}\")\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(\"/cloud/project/{serviceName}/instance/group/{groupId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:instance/group/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/instance/{instanceId}":{"delete":{"summary":"Delete an instance","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"instanceId","description":"Instance ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/instance/{instanceId}\")\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(\"/cloud/project/{serviceName}/instance/{instanceId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:instance/delete","required":true}]},"get":{"summary":"Get instance","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"instanceId","description":"Instance ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.instance.Instance"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/instance/{instanceId}\")\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(\"/cloud/project/{serviceName}/instance/{instanceId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:instance/get","required":true}],"x-response-identifier":"id"},"put":{"summary":"Alter an instance","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"instanceId","description":"Instance ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ProjectInstanceUpdate"}}}},"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.ProjectInstanceUpdate\nresult = client.put(\"/cloud/project/{serviceName}/instance/{instanceId}\",\n\tinstanceName = None, # Instance new name (type: string)\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: cloud.ProjectInstanceUpdate\n$result = $ovh->put(\"/cloud/project/{serviceName}/instance/{instanceId}\", array(\n\tinstanceName => null, // Instance new name (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:instance/edit","required":true}]}},"/cloud/project/{serviceName}/instance/{instanceId}/activeMonthlyBilling":{"post":{"summary":"Activate monthly billing on instance","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"instanceId","description":"Instance ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.instance.Instance"}}}}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/instance/{instanceId}/activeMonthlyBilling\")\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->post(\"/cloud/project/{serviceName}/instance/{instanceId}/activeMonthlyBilling\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:instance/activeMonthlyBilling","required":true}]}},"/cloud/project/{serviceName}/instance/{instanceId}/applicationAccess":{"post":{"summary":"Return initial credentials of applications installed from public image","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"instanceId","description":"Instance ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.instance.ApplicationAccess"}}}}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/instance/{instanceId}/applicationAccess\")\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->post(\"/cloud/project/{serviceName}/instance/{instanceId}/applicationAccess\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:instance/applicationAccess/create","required":true}]}},"/cloud/project/{serviceName}/instance/{instanceId}/interface":{"get":{"summary":"Get interfaces","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"instanceId","description":"Instance ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.instanceInterface.Interface"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/instance/{instanceId}/interface\")\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(\"/cloud/project/{serviceName}/instance/{instanceId}/interface\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:instance/interface/get","required":true}],"x-response-identifier":"id","x-expanded-response":"CloudInstanceInterfaceInterface"},"post":{"summary":"Create interface on an instance and attached it to a network","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"instanceId","description":"Instance ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ProjectInstanceInterfaceCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.instanceInterface.Interface"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.ProjectInstanceInterfaceCreation\nresult = client.post(\"/cloud/project/{serviceName}/instance/{instanceId}/interface\",\n\tip = None, # Static ip (Can only be defined for private networks) (type: ip, nullable)\n\tnetworkId = None, # Network id (type: string)\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: cloud.ProjectInstanceInterfaceCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/instance/{instanceId}/interface\", array(\n\tip => null, // Static ip (Can only be defined for private networks) (type: ip, nullable)\n\tnetworkId => null, // Network id (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:instance/interface/create","required":true}]}},"/cloud/project/{serviceName}/instance/{instanceId}/interface/{interfaceId}":{"delete":{"summary":"Delete an interface","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"instanceId","description":"Instance ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"interfaceId","description":"Interface ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/instance/{instanceId}/interface/{interfaceId}\")\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(\"/cloud/project/{serviceName}/instance/{instanceId}/interface/{interfaceId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:instance/interface/delete","required":true}]},"get":{"summary":"Get interface","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"instanceId","description":"Instance ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"interfaceId","description":"Interface ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.instanceInterface.Interface"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/instance/{instanceId}/interface/{interfaceId}\")\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(\"/cloud/project/{serviceName}/instance/{instanceId}/interface/{interfaceId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:instance/interface/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/instance/{instanceId}/reboot":{"post":{"summary":"Reboot an instance","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"instanceId","description":"Instance ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ProjectInstanceRebootCreation"}}}},"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.ProjectInstanceRebootCreation\nresult = client.post(\"/cloud/project/{serviceName}/instance/{instanceId}/reboot\",\n\ttype = None, # Reboot type (default soft) (type: cloud.instance.RebootTypeEnum)\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: cloud.ProjectInstanceRebootCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/instance/{instanceId}/reboot\", array(\n\ttype => null, // Reboot type (default soft) (type: cloud.instance.RebootTypeEnum)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:instance/reboot","required":true}]}},"/cloud/project/{serviceName}/instance/{instanceId}/reinstall":{"post":{"summary":"Reinstall an instance","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"instanceId","description":"Instance ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ProjectInstanceReinstallCreation"},"examples":{"Example 1 - Reinstall your instance on ovh-rescue image on GRA11":{"value":{"imageId":"17c1fc92-9a1a-4995-83f4-7fe76c898571"}},"Example 2 - Reinstall your instance on Ubuntu 25.04 image on GRA11":{"value":{"imageId":"5cb8ea68-e606-471e-a7d5-820be83467f6"}}}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.instance.Instance"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.ProjectInstanceReinstallCreation\nresult = client.post(\"/cloud/project/{serviceName}/instance/{instanceId}/reinstall\",\n\timageId = None, # Image to reinstall (type: string)\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: cloud.ProjectInstanceReinstallCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/instance/{instanceId}/reinstall\", array(\n\timageId => null, // Image to reinstall (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:instance/reinstall","required":true}]}},"/cloud/project/{serviceName}/instance/{instanceId}/rescueMode":{"post":{"summary":"Enable or disable rescue mode","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"instanceId","description":"Instance ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ProjectInstanceRescueModeCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.instance.RescueAdminPassword"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.ProjectInstanceRescueModeCreation\nresult = client.post(\"/cloud/project/{serviceName}/instance/{instanceId}/rescueMode\",\n\timageId = None, # Image to boot on (type: string, nullable)\n\trescue = None, # Enable rescue mode (type: boolean)\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: cloud.ProjectInstanceRescueModeCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/instance/{instanceId}/rescueMode\", array(\n\timageId => null, // Image to boot on (type: string, nullable)\n\trescue => null, // Enable rescue mode (type: boolean)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:instance/rescueMode/create","required":true}]}},"/cloud/project/{serviceName}/instance/{instanceId}/resize":{"post":{"summary":"Migrate your instance to another flavor","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"instanceId","description":"Instance ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ProjectInstanceResizeCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.instance.Instance"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.ProjectInstanceResizeCreation\nresult = client.post(\"/cloud/project/{serviceName}/instance/{instanceId}/resize\",\n\tflavorId = None, # Flavor id (type: string)\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: cloud.ProjectInstanceResizeCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/instance/{instanceId}/resize\", array(\n\tflavorId => null, // Flavor id (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:instance/resize","required":true}]}},"/cloud/project/{serviceName}/instance/{instanceId}/resume":{"post":{"summary":"Resume a suspended instance","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"instanceId","description":"Instance ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/instance/{instanceId}/resume\")\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->post(\"/cloud/project/{serviceName}/instance/{instanceId}/resume\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:instance/resume","required":true}]}},"/cloud/project/{serviceName}/instance/{instanceId}/shelve":{"post":{"summary":"Shelve an instance","description":"Shelve an instance. The resources dedicated to the Public Cloud instance are released. The data of the local storage will be stored, the duration of the operation depends on the size of the local disk. The instance can be unshelved at any time. Meanwhile hourly instances will not be billed. The Snapshot Storage used to store the instance's data will be billed.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"instanceId","description":"Instance ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/instance/{instanceId}/shelve\")\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->post(\"/cloud/project/{serviceName}/instance/{instanceId}/shelve\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:instance/shelve","required":true}]}},"/cloud/project/{serviceName}/instance/{instanceId}/snapshot":{"post":{"summary":"Snapshot an instance","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"instanceId","description":"Instance ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ProjectInstanceSnapshotCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.instance.InstanceSnapshot"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.ProjectInstanceSnapshotCreation\nresult = client.post(\"/cloud/project/{serviceName}/instance/{instanceId}/snapshot\",\n\tsnapshotName = None, # Name for the snapshot that will be created in the current region (type: string)\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: cloud.ProjectInstanceSnapshotCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/instance/{instanceId}/snapshot\", array(\n\tsnapshotName => null, // Name for the snapshot that will be created in the current region (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:instance/snapshot","required":true}]}},"/cloud/project/{serviceName}/instance/{instanceId}/start":{"post":{"summary":"Start an instance","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"instanceId","description":"Instance ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/instance/{instanceId}/start\")\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->post(\"/cloud/project/{serviceName}/instance/{instanceId}/start\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:instance/start","required":true}]}},"/cloud/project/{serviceName}/instance/{instanceId}/stop":{"post":{"summary":"Stop an instance","description":"Stop an instance. The resources dedicated to the Public Cloud instances are still reserved. The instance can be restarted at any time. Meanwhile, the same price is charged for the instance.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"instanceId","description":"Instance ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/instance/{instanceId}/stop\")\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->post(\"/cloud/project/{serviceName}/instance/{instanceId}/stop\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:instance/stop","required":true}]}},"/cloud/project/{serviceName}/instance/{instanceId}/unshelve":{"post":{"summary":"Unshelve an instance","description":"Unshelve an instance. The resources dedicated to the Public Cloud instance are restored. The duration of the operation depends on the size of the local disk. Instance billing will get back to normal and the snapshot used to store the instance's data will be deleted.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"instanceId","description":"Instance ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/instance/{instanceId}/unshelve\")\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->post(\"/cloud/project/{serviceName}/instance/{instanceId}/unshelve\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:instance/unshelve","required":true}]}},"/cloud/project/{serviceName}/instance/{instanceId}/vnc":{"post":{"summary":"Get VNC access to your instance","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"instanceId","description":"Instance ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.instance.InstanceVnc"}}}}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/instance/{instanceId}/vnc\")\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->post(\"/cloud/project/{serviceName}/instance/{instanceId}/vnc\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:instance/vnc/create","required":true}]}},"/cloud/project/{serviceName}/ip":{"get":{"summary":"Get ips","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.ip.CloudIp"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ip\")\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(\"/cloud/project/{serviceName}/ip\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ip/get","required":true}]}},"/cloud/project/{serviceName}/ip/failover":{"get":{"summary":"Get failover ips","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.ip.FailoverIp"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ip/failover\")\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(\"/cloud/project/{serviceName}/ip/failover\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ip/failover/get","required":true}],"x-response-identifier":"id","x-expanded-response":"CloudIpFailoverIp"}},"/cloud/project/{serviceName}/ip/failover/{id}":{"get":{"summary":"Get failover ip","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"id","description":"Id","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ip.FailoverIp"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/ip/failover/{id}\")\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(\"/cloud/project/{serviceName}/ip/failover/{id}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ip/failover/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/ip/failover/{id}/attach":{"post":{"summary":"Attach failover ip to an instance","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"id","description":"Id","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ProjectIpFailoverAttachCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ip.FailoverIp"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.ProjectIpFailoverAttachCreation\nresult = client.post(\"/cloud/project/{serviceName}/ip/failover/{id}/attach\",\n\tinstanceId = None, # Attach failover ip to instance (type: string)\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: cloud.ProjectIpFailoverAttachCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/ip/failover/{id}/attach\", array(\n\tinstanceId => null, // Attach failover ip to instance (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:ip/failover/attach","required":true}]}},"/cloud/project/{serviceName}/kube":{"get":{"summary":"List your managed Kubernetes clusters","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/kube\")\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(\"/cloud/project/{serviceName}/kube\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:kube/get","required":true}],"x-expanded-response":"CloudKubeCluster"},"post":{"summary":"Create a new managed Kubernetes cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ProjectKubeCreation"},"examples":{"1-simple-cluster":{"value":{"name":"my-simple-kubernetes-cluster-gra11","nodepool":{"desiredNodes":3,"flavorName":"b3-8","name":"my-nodepool"},"region":"GRA11"},"summary":"Simple cluster on GRA11 with one nodepool, 3 nodes, latest version and default update policy (ALWAYS_UPDATE)"},"2-intermediate-cluster":{"value":{"name":"my-intermediate-kubernetes-cluster-bhs5","nodepools":[{"antiAffinity":true,"desiredNodes":3,"flavorName":"c3-64","maxNodes":5,"minNodes":2,"name":"my-nodepool-cpu-workers"},{"antiAffinity":true,"autoscale":true,"desiredNodes":3,"flavorName":"r3-128","name":"my-nodepool-ram-workers"}],"region":"BHS5","updatePolicy":"MINIMAL_DOWNTIME","version":"1.34"},"summary":"Intermediate cluster on BHS5 with two nodepools, 3 nodes each at creation with anti-affinity and autoscaling, specific version and minimal downtime update policy"},"3-complex-use-case-cluster":{"value":{"customization":{"apiServer":{"admissionPlugins":{"disabled":["AlwaysPullImages"],"enabled":["AlwaysPullImages"]}},"kubeProxy":{"iptables":{"minSyncPeriod":"PT1S","syncPeriod":"PT30S"},"ipvs":{"minSyncPeriod":"PT1S","scheduler":"rr","syncPeriod":"PT30S","tcpFinTimeout":"PT1M","tcpTimeout":"PT1M","udpTimeout":"PT1M"}}},"kubeProxyMode":"iptables","loadBalancersSubnetId":"19ae8a32-3a10-4000-8c58-fc25381faf80","name":"my-multi-az-kubernetes-cluster","nodepools":[{"antiAffinity":true,"attachFloatingIps":{"enabled":true},"autoscale":true,"autoscaling":{"scaleDownUnneededTimeSeconds":600,"scaleDownUnreadyTimeSeconds":1200,"scaleDownUtilizationThreshold":0.5},"availabilityZones":["eu-west-par-a"],"desiredNodes":3,"flavorName":"c3-16","maxNodes":5,"minNodes":1,"monthlyBilled":false,"name":"my-nodepool-a","template":{"metadata":{"annotations":{"my-annotation":"my-value"},"finalizers":[],"labels":{"my-label":"my-value"}},"spec":{"taints":[{"effect":"NoExecute","key":"my-taint","value":"my-value"}],"unschedulable":false}}},{"antiAffinity":true,"autoscale":true,"autoscaling":{"scaleDownUnneededTimeSeconds":600,"scaleDownUnreadyTimeSeconds":1200,"scaleDownUtilizationThreshold":0.5},"availabilityZones":["eu-west-par-b"],"desiredNodes":3,"flavorName":"c3-16","maxNodes":5,"minNodes":1,"monthlyBilled":false,"name":"my-nodepool-b","template":{"metadata":{"annotations":{"my-annotation":"my-value"},"finalizers":[],"labels":{"my-label":"my-value"}},"spec":{"taints":[{"effect":"NoExecute","key":"my-taint","value":"my-value"}],"unschedulable":false}}},{"antiAffinity":true,"autoscale":true,"autoscaling":{"scaleDownUnneededTimeSeconds":600,"scaleDownUnreadyTimeSeconds":1200,"scaleDownUtilizationThreshold":0.5},"availabilityZones":["eu-west-par-c"],"desiredNodes":3,"flavorName":"c3-16","maxNodes":5,"minNodes":1,"monthlyBilled":false,"name":"my-nodepool-c","template":{"metadata":{"annotations":{"my-annotation":"my-value"},"finalizers":["my-custom-finalizer"],"labels":{"my-label":"my-value"}},"spec":{"taints":[{"effect":"NoExecute","key":"my-taint","value":"my-value"}],"unschedulable":false}}}],"nodesSubnetId":"afe2b2a1-a706-4e18-88db-8cf101f0db98","plan":"standard","privateNetworkConfiguration":{"defaultVrackGateway":"192.168.1.1","privateNetworkRoutingAsDefault":true},"privateNetworkId":"89368992-0468-481f-af9c-78fb9b066a6d","region":"EU-WEST-PAR","updatePolicy":"ALWAYS_UPDATE","version":"1.34"},"summary":"Complex multi AZ Kubernetes cluster on EU-WEST-PAR with autoscaling, public node exposition and many parameters customized"}}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.kube.Cluster"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.ProjectKubeCreation\nresult = client.post(\"/cloud/project/{serviceName}/kube\",\n\tcustomization = None, # Kubernetes cluster customization (type: cloud.ProjectKubeCustomization, nullable)\n\tdisablePublicNetworking = None, # Disable public connectivity (type: boolean, nullable)\n\tipAllocationPolicy = None, # IP allocation policy. This field is optional. (type: cloud.ProjectKubeIpAllocationPolicy, nullable)\n\tkubeProxyMode = None, # Selected mode for kube-proxy (type: cloud.kube.KubeProxyModeEnum, nullable)\n\tloadBalancersSubnetId = None, # OpenStack subnet ID that the load balancers will use. Optional, can be updated with endpoint /cloud/project/{serviceName}/kube/{kubeId}/updateLoadBalancersSubnetId, can only be set if privateNetworkId and nodesSubnetId are also set (type: string)\n\tname = None, # Kubernetes cluster name (type: string)\n\tnodepool = None, # Nodepool to initialize with cluster creation. Note: this fields is deprecated in favor of 'nodepools' field that allows to create one or more nodepools. (type: cloud.ProjectKubeCreationNodePool)\n\tnodepools = None, # List of nodepools to initialize with cluster creation (type: array)\n\tnodesSubnetId = None, # OpenStack subnet ID that the cluster nodes will use. Optional, can only be set on cluster creation or reset, can only be set if privateNetworkId is also set. If unspecified, it will be selected automatically when the first node is created. (type: string)\n\tplan = None, # The cluster plan (type: string, nullable)\n\tprivateNetworkConfiguration = None, # The private network configuration. (type: cloud.kube.PrivateNetworkConfiguration)\n\tprivateNetworkId = None, # OpenStack private network ID that the cluster will use. Optional, can only be set on cluster creation or reset. If unspecified, the cluster will use the public network. (type: string)\n\tregion = None, # Kubernetes OpenStack region (type: string)\n\tupdatePolicy = None, # Enum values for UpdatePolicy (type: cloud.kube.UpdatePolicyEnum, nullable)\n\tversion = None, # Kubernetes version to install (type: cloud.kube.VersionEnum)\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: cloud.ProjectKubeCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/kube\", array(\n\tcustomization => null, // Kubernetes cluster customization (type: cloud.ProjectKubeCustomization, nullable)\n\tdisablePublicNetworking => null, // Disable public connectivity (type: boolean, nullable)\n\tipAllocationPolicy => null, // IP allocation policy. This field is optional. (type: cloud.ProjectKubeIpAllocationPolicy, nullable)\n\tkubeProxyMode => null, // Selected mode for kube-proxy (type: cloud.kube.KubeProxyModeEnum, nullable)\n\tloadBalancersSubnetId => null, // OpenStack subnet ID that the load balancers will use. Optional, can be updated with endpoint /cloud/project/{serviceName}/kube/{kubeId}/updateLoadBalancersSubnetId, can only be set if privateNetworkId and nodesSubnetId are also set (type: string)\n\tname => null, // Kubernetes cluster name (type: string)\n\tnodepool => null, // Nodepool to initialize with cluster creation. Note: this fields is deprecated in favor of 'nodepools' field that allows to create one or more nodepools. (type: cloud.ProjectKubeCreationNodePool)\n\tnodepools => null, // List of nodepools to initialize with cluster creation (type: array)\n\tnodesSubnetId => null, // OpenStack subnet ID that the cluster nodes will use. Optional, can only be set on cluster creation or reset, can only be set if privateNetworkId is also set. If unspecified, it will be selected automatically when the first node is created. (type: string)\n\tplan => null, // The cluster plan (type: string, nullable)\n\tprivateNetworkConfiguration => null, // The private network configuration. (type: cloud.kube.PrivateNetworkConfiguration)\n\tprivateNetworkId => null, // OpenStack private network ID that the cluster will use. Optional, can only be set on cluster creation or reset. If unspecified, the cluster will use the public network. (type: string)\n\tregion => null, // Kubernetes OpenStack region (type: string)\n\tupdatePolicy => null, // Enum values for UpdatePolicy (type: cloud.kube.UpdatePolicyEnum, nullable)\n\tversion => null, // Kubernetes version to install (type: cloud.kube.VersionEnum)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:kube/create","required":true}]}},"/cloud/project/{serviceName}/kube/{kubeId}":{"delete":{"summary":"Delete your managed Kubernetes cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"kubeId","description":"Kube ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/kube/{kubeId}\")\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(\"/cloud/project/{serviceName}/kube/{kubeId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:kube/delete","required":true}]},"get":{"summary":"Get information about your managed Kubernetes cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"kubeId","description":"Kube ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.kube.Cluster"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/kube/{kubeId}\")\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(\"/cloud/project/{serviceName}/kube/{kubeId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:kube/get","required":true}],"x-response-identifier":"id"},"put":{"summary":"Update information about your managed Kubernetes cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"kubeId","description":"Kube ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ProjectKubeUpdate"}}}},"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.ProjectKubeUpdate\nresult = client.put(\"/cloud/project/{serviceName}/kube/{kubeId}\",\n\tname = None, # Cluster new name (type: string)\n\tupdatePolicy = None, # Enum values for UpdatePolicy (type: cloud.kube.UpdatePolicyEnum)\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: cloud.ProjectKubeUpdate\n$result = $ovh->put(\"/cloud/project/{serviceName}/kube/{kubeId}\", array(\n\tname => null, // Cluster new name (type: string)\n\tupdatePolicy => null, // Enum values for UpdatePolicy (type: cloud.kube.UpdatePolicyEnum)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:kube/edit","required":true}]}},"/cloud/project/{serviceName}/kube/{kubeId}/auditLogs":{"post":{"summary":"Generate a temporary URL to retrieve audit logs","deprecated":true,"x-deprecation-date":"2024-01-30T00:00:00Z","x-deletion-date":"2025-09-01T00:00:00Z","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"kubeId","description":"Kube ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.TemporaryLogsLink"}}}}},"x-badges":[{"color":"red","label":"Deprecated, will be removed"}],"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.post(\"/cloud/project/{serviceName}/kube/{kubeId}/auditLogs\")\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->post(\"/cloud/project/{serviceName}/kube/{kubeId}/auditLogs\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:kube/auditLogs/create","required":true}]}},"/cloud/project/{serviceName}/kube/{kubeId}/customization":{"get":{"summary":"Get cluster customization","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"kubeId","description":"Kube ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ProjectKubeCustomization"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/kube/{kubeId}/customization\")\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(\"/cloud/project/{serviceName}/kube/{kubeId}/customization\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:kube/customization/get","required":true}]},"put":{"summary":"Update cluster customization","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"kubeId","description":"Kube ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ProjectKubeCustomization"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.kube.ResponseMessage"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.ProjectKubeCustomization\nresult = client.put(\"/cloud/project/{serviceName}/kube/{kubeId}/customization\",\n\tapiServer = None, # Kubernetes cluster api server customization (type: cloud.ProjectKubeCustomizationAPIServer, nullable)\n\tcilium = None, # Kubernetes cluster cilium customization (type: cloud.ProjectKubeCustomizationCilium, nullable)\n\tkubeProxy = None, # Kubernetes cluster kube-proxy customization (type: cloud.ProjectKubeCustomizationKubeProxy, nullable)\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: cloud.ProjectKubeCustomization\n$result = $ovh->put(\"/cloud/project/{serviceName}/kube/{kubeId}/customization\", array(\n\tapiServer => null, // Kubernetes cluster api server customization (type: cloud.ProjectKubeCustomizationAPIServer, nullable)\n\tcilium => null, // Kubernetes cluster cilium customization (type: cloud.ProjectKubeCustomizationCilium, nullable)\n\tkubeProxy => null, // Kubernetes cluster kube-proxy customization (type: cloud.ProjectKubeCustomizationKubeProxy, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:kube/customization/edit","required":true}]}},"/cloud/project/{serviceName}/kube/{kubeId}/flavors":{"get":{"summary":"List all flavors available","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"kubeId","description":"Kube ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.kube.Flavor"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/kube/{kubeId}/flavors\")\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(\"/cloud/project/{serviceName}/kube/{kubeId}/flavors\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:kube/flavors/get","required":true}]}},"/cloud/project/{serviceName}/kube/{kubeId}/ipRestrictions":{"get":{"summary":"List your ip restrictions on your cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"kubeId","description":"Kube ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ipBlock"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/kube/{kubeId}/ipRestrictions\")\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(\"/cloud/project/{serviceName}/kube/{kubeId}/ipRestrictions\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:kube/ipRestrictions/get","required":true}]},"post":{"summary":"Append a list of ip restrictions on your cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"kubeId","description":"Kube ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ProjectKubeIpRestrictionUpsert"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ipBlock"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.ProjectKubeIpRestrictionUpsert\nresult = client.post(\"/cloud/project/{serviceName}/kube/{kubeId}/ipRestrictions\",\n\tips = None, # List of ips to add to the cluster api-server restrictions (format with /subnet available) (type: array)\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: cloud.ProjectKubeIpRestrictionUpsert\n$result = $ovh->post(\"/cloud/project/{serviceName}/kube/{kubeId}/ipRestrictions\", array(\n\tips => null, // List of ips to add to the cluster api-server restrictions (format with /subnet available) (type: array)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:kube/ipRestrictions/create","required":true}]},"put":{"summary":"Remove the current list and add a list of ip restrictions on your cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"kubeId","description":"Kube ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ProjectKubeIpRestrictionUpsert"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ipBlock"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.ProjectKubeIpRestrictionUpsert\nresult = client.put(\"/cloud/project/{serviceName}/kube/{kubeId}/ipRestrictions\",\n\tips = None, # List of ips to add to the cluster api-server restrictions (format with /subnet available) (type: array)\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: cloud.ProjectKubeIpRestrictionUpsert\n$result = $ovh->put(\"/cloud/project/{serviceName}/kube/{kubeId}/ipRestrictions\", array(\n\tips => null, // List of ips to add to the cluster api-server restrictions (format with /subnet available) (type: array)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:kube/ipRestrictions/edit","required":true}]}},"/cloud/project/{serviceName}/kube/{kubeId}/ipRestrictions/{ip}":{"delete":{"summary":"Delete an ip restriction from your cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"ip","description":"Ip","required":true,"schema":{"$ref":"#/components/schemas/ipBlock"}},{"in":"path","name":"kubeId","description":"Kube ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/kube/{kubeId}/ipRestrictions/{ip}\")\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(\"/cloud/project/{serviceName}/kube/{kubeId}/ipRestrictions/{ip}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:kube/ipRestrictions/delete","required":true}]}},"/cloud/project/{serviceName}/kube/{kubeId}/kubeconfig":{"post":{"summary":"Generate kubeconfig file","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"kubeId","description":"Kube ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.kube.Kubeconfig"}}}}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/kube/{kubeId}/kubeconfig\")\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->post(\"/cloud/project/{serviceName}/kube/{kubeId}/kubeconfig\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:kube/kubeconfig/create","required":true}]}},"/cloud/project/{serviceName}/kube/{kubeId}/kubeconfig/reset":{"post":{"summary":"Reset kubeconfig: Certificates will be regenerated, nodes will be reinstalled","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"kubeId","description":"Kube ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/kube/{kubeId}/kubeconfig/reset\")\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->post(\"/cloud/project/{serviceName}/kube/{kubeId}/kubeconfig/reset\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:kube/kubeconfig/reset","required":true}]}},"/cloud/project/{serviceName}/kube/{kubeId}/log/subscription":{"get":{"summary":"List subscription IDs for a cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"query","name":"kind","description":"Filter on a specific kind (e.g., audit)","schema":{"type":"string"}},{"in":"path","name":"kubeId","description":"Kube ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/kube/{kubeId}/log/subscription\")\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(\"/cloud/project/{serviceName}/kube/{kubeId}/log/subscription\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:kube/log/subscription/get","required":true}],"x-expanded-response":"DbaasLogsLogSubscription"},"post":{"summary":"Create a subscription from logs to a pre-existing LDP stream","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"kubeId","description":"Kube ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscriptionCreation"},"examples":{"audit":{"value":{"kind":"audit","streamId":"18d603e8-7d50-4000-8393-f0d5bb7f1280"},"summary":"Create subscription for audit logs"}}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscriptionResponse"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: dbaas.logs.LogSubscriptionCreation\nresult = client.post(\"/cloud/project/{serviceName}/kube/{kubeId}/log/subscription\",\n\tkind = None, # Log kind name to subscribe to (type: string)\n\tstreamId = None, # Customer log stream ID (type: string)\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: dbaas.logs.LogSubscriptionCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/kube/{kubeId}/log/subscription\", array(\n\tkind => null, // Log kind name to subscribe to (type: string)\n\tstreamId => null, // Customer log stream ID (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:kube/log/subscription/create","required":true},{"name":"ldp:apiovh:output/graylog/stream/forwardTo","description":"Required on the targeted LDP service","required":true}]}},"/cloud/project/{serviceName}/kube/{kubeId}/log/subscription/{subscriptionId}":{"delete":{"summary":"Delete a subscription","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"kubeId","description":"Kube ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"subscriptionId","description":"Subscription ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscriptionResponse"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/kube/{kubeId}/log/subscription/{subscriptionId}\")\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(\"/cloud/project/{serviceName}/kube/{kubeId}/log/subscription/{subscriptionId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:kube/log/subscription/delete","required":true}]},"get":{"summary":"Get subscription details","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"kubeId","description":"Kube ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"subscriptionId","description":"Subscription ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscription"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/kube/{kubeId}/log/subscription/{subscriptionId}\")\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(\"/cloud/project/{serviceName}/kube/{kubeId}/log/subscription/{subscriptionId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:kube/log/subscription/get","required":true}],"x-response-identifier":"subscriptionId"}},"/cloud/project/{serviceName}/kube/{kubeId}/log/url":{"post":{"summary":"Generate a temporary URL to retrieve logs","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"kubeId","description":"Kube ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogUrlCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.TemporaryLogsLink"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: dbaas.logs.LogUrlCreation\nresult = client.post(\"/cloud/project/{serviceName}/kube/{kubeId}/log/url\",\n\tkind = None, # Log kind name (type: string)\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: dbaas.logs.LogUrlCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/kube/{kubeId}/log/url\", array(\n\tkind => null, // Log kind name (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:kube/log/url/create","required":true}]}},"/cloud/project/{serviceName}/kube/{kubeId}/metrics/etcdUsage":{"get":{"summary":"List available metrics for this cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"kubeId","description":"Kube ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.kube.EtcdUsage"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/kube/{kubeId}/metrics/etcdUsage\")\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(\"/cloud/project/{serviceName}/kube/{kubeId}/metrics/etcdUsage\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:kube/metrics/etcdUsage/get","required":true}]}},"/cloud/project/{serviceName}/kube/{kubeId}/node":{"get":{"summary":"List your nodes","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"header","name":"X-Pagination-Cursor","description":"Pagination cursor","schema":{"type":"string"}},{"in":"query","name":"history","description":"If set to true then returns DELETED nodes ordered by deletion date (most recently deleted first). Returns non-DELETED nodes if false or not set.","schema":{"type":"boolean"}},{"in":"path","name":"kubeId","description":"Kube ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.kube.Node"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/kube/{kubeId}/node\")\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(\"/cloud/project/{serviceName}/kube/{kubeId}/node\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:kube/node/get","required":true}],"x-response-identifier":"id","x-expanded-response":"CloudKubeNode"}},"/cloud/project/{serviceName}/kube/{kubeId}/node/{nodeId}":{"delete":{"summary":"Delete a specific node on your cluster","description":"Delete a specific node on your cluster. This will also decrease by one the desirednodes value of its nodepool.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"kubeId","description":"Kube ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"nodeId","description":"Node ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/kube/{kubeId}/node/{nodeId}\")\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(\"/cloud/project/{serviceName}/kube/{kubeId}/node/{nodeId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:kube/node/delete","required":true}]},"get":{"summary":"Get information on a specific node on your cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"kubeId","description":"Kube ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"nodeId","description":"Node ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.kube.Node"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/kube/{kubeId}/node/{nodeId}\")\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(\"/cloud/project/{serviceName}/kube/{kubeId}/node/{nodeId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:kube/node/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/kube/{kubeId}/nodepool":{"get":{"summary":"List your nodepools","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"kubeId","description":"Kube ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.kube.NodePool"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/kube/{kubeId}/nodepool\")\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(\"/cloud/project/{serviceName}/kube/{kubeId}/nodepool\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:kube/nodepool/get","required":true}],"x-response-identifier":"id","x-expanded-response":"CloudKubeNodePool"},"post":{"summary":"Create a nodepool on your cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"kubeId","description":"Kube ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ProjectKubeNodePoolCreation"},"examples":{"1-simple-nodepool":{"value":{"desiredNodes":3,"flavorName":"b3-32","name":"my-nodepool"},"summary":"Simple 3-nodes nodepool without customization"},"2-intermediate-nodepool":{"value":{"antiAffinity":true,"desiredNodes":3,"flavorName":"c3-64","maxNodes":5,"minNodes":2,"name":"my-nodepool"},"summary":"Intermediate 3-nodes nodepool with anti-affinity and autoscaling ranging from 2 to 5 nodes"},"3-full-eu-west-par":{"value":{"antiAffinity":true,"attachFloatingIps":{"enabled":true},"autoscale":true,"autoscaling":{"scaleDownUnneededTimeSeconds":600,"scaleDownUnreadyTimeSeconds":1200,"scaleDownUtilizationThreshold":0.5},"availabilityZones":["eu-west-par-a"],"desiredNodes":3,"flavorName":"c3-16","maxNodes":5,"minNodes":1,"monthlyBilled":false,"name":"my-nodepool-a","template":{"metadata":{"annotations":{"my-annotation":"my-value"},"finalizers":["my-custom-finalizer"],"labels":{"my-label":"my-value"}},"spec":{"taints":[{"effect":"NoExecute","key":"my-taint","value":"my-value"}],"unschedulable":false}}},"summary":"Complex nodepool on EU-WEST-PAR (AZ A) with autoscaling, public node exposition and all parameters customized"}}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.kube.NodePool"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.ProjectKubeNodePoolCreation\nresult = client.post(\"/cloud/project/{serviceName}/kube/{kubeId}/nodepool\",\n\tantiAffinity = None, # Enable anti affinity groups for nodes in the pool (type: boolean, nullable)\n\tattachFloatingIps = None, # Parameters for optional node exposition via a floating IP per node (type: cloud.ProjectKubeNodePoolAttachFloatingIpsParams, nullable)\n\tautoscale = None, # Enable the auto-scaling on the pool (type: boolean, nullable)\n\tautoscaling = None, # Autoscaling customization parameters (type: cloud.ProjectKubeNodePoolAutoscalingParams)\n\tavailabilityZones = None, # List of availability zones where nodes will be created (only 1 zone is supported for now) (type: array, nullable)\n\tdesiredNodes = None, # Number of nodes to instantiate (1 by default) (type: integer)\n\tflavorName = None, # Nodes flavor (type: string)\n\tmaxNodes = None, # Higher limit you accept for the desiredNodes value (100 by default) (type: integer)\n\tminNodes = None, # Lower limit you accept for the desiredNodes value (0 by default) (type: integer)\n\tmonthlyBilled = None, # Enable monthly billing for nodes in the pool (type: boolean, nullable)\n\tname = None, # NodePool name (type: string)\n\ttemplate = None, # NodePool template to apply to each children nodes (type: cloud.kube.NodePoolTemplate)\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: cloud.ProjectKubeNodePoolCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/kube/{kubeId}/nodepool\", array(\n\tantiAffinity => null, // Enable anti affinity groups for nodes in the pool (type: boolean, nullable)\n\tattachFloatingIps => null, // Parameters for optional node exposition via a floating IP per node (type: cloud.ProjectKubeNodePoolAttachFloatingIpsParams, nullable)\n\tautoscale => null, // Enable the auto-scaling on the pool (type: boolean, nullable)\n\tautoscaling => null, // Autoscaling customization parameters (type: cloud.ProjectKubeNodePoolAutoscalingParams)\n\tavailabilityZones => null, // List of availability zones where nodes will be created (only 1 zone is supported for now) (type: array, nullable)\n\tdesiredNodes => null, // Number of nodes to instantiate (1 by default) (type: integer)\n\tflavorName => null, // Nodes flavor (type: string)\n\tmaxNodes => null, // Higher limit you accept for the desiredNodes value (100 by default) (type: integer)\n\tminNodes => null, // Lower limit you accept for the desiredNodes value (0 by default) (type: integer)\n\tmonthlyBilled => null, // Enable monthly billing for nodes in the pool (type: boolean, nullable)\n\tname => null, // NodePool name (type: string)\n\ttemplate => null, // NodePool template to apply to each children nodes (type: cloud.kube.NodePoolTemplate)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:kube/nodepool/create","required":true}]}},"/cloud/project/{serviceName}/kube/{kubeId}/nodepool/{nodePoolId}":{"delete":{"summary":"Delete a nodepool from your cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"kubeId","description":"Kube ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"nodePoolId","description":"Node pool ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/kube/{kubeId}/nodepool/{nodePoolId}\")\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(\"/cloud/project/{serviceName}/kube/{kubeId}/nodepool/{nodePoolId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:kube/nodepool/delete","required":true}]},"get":{"summary":"Get information on a specific nodepool on your cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"kubeId","description":"Kube ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"nodePoolId","description":"Node pool ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.kube.NodePool"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/kube/{kubeId}/nodepool/{nodePoolId}\")\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(\"/cloud/project/{serviceName}/kube/{kubeId}/nodepool/{nodePoolId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:kube/nodepool/get","required":true}],"x-response-identifier":"id"},"put":{"summary":"Update your nodepool information","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"kubeId","description":"Kube ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"nodePoolId","description":"Node pool ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ProjectKubeNodePoolUpdate"}}}},"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.ProjectKubeNodePoolUpdate\nresult = client.put(\"/cloud/project/{serviceName}/kube/{kubeId}/nodepool/{nodePoolId}\",\n\tattachFloatingIps = None, # Parameters for optional node exposition via a floating IP per node (type: cloud.ProjectKubeNodePoolAttachFloatingIpsParams, nullable)\n\tautoscale = None, # Enable the auto-scaling on the pool (type: boolean, nullable)\n\tautoscaling = None, # Autoscaling customization parameters (type: cloud.ProjectKubeNodePoolAutoscalingParams)\n\tdesiredNodes = None, # New number of nodes wanted in the nodepool (type: integer)\n\tmaxNodes = None, # New maximal number of nodes wanted in the nodepool (type: integer)\n\tminNodes = None, # New minimal number of nodes wanted in the nodepool (type: integer)\n\tnodesToRemove = None, # List of specific node IDs, openstack instance IDs or Node.Spec.providerIDs to delete during downscale (type: array)\n\ttemplate = None, # NodePool template to apply to each children nodes (type: cloud.kube.NodePoolTemplate)\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: cloud.ProjectKubeNodePoolUpdate\n$result = $ovh->put(\"/cloud/project/{serviceName}/kube/{kubeId}/nodepool/{nodePoolId}\", array(\n\tattachFloatingIps => null, // Parameters for optional node exposition via a floating IP per node (type: cloud.ProjectKubeNodePoolAttachFloatingIpsParams, nullable)\n\tautoscale => null, // Enable the auto-scaling on the pool (type: boolean, nullable)\n\tautoscaling => null, // Autoscaling customization parameters (type: cloud.ProjectKubeNodePoolAutoscalingParams)\n\tdesiredNodes => null, // New number of nodes wanted in the nodepool (type: integer)\n\tmaxNodes => null, // New maximal number of nodes wanted in the nodepool (type: integer)\n\tminNodes => null, // New minimal number of nodes wanted in the nodepool (type: integer)\n\tnodesToRemove => null, // List of specific node IDs, openstack instance IDs or Node.Spec.providerIDs to delete during downscale (type: array)\n\ttemplate => null, // NodePool template to apply to each children nodes (type: cloud.kube.NodePoolTemplate)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:kube/nodepool/edit","required":true}]}},"/cloud/project/{serviceName}/kube/{kubeId}/nodepool/{nodePoolId}/nodes":{"get":{"summary":"List all nodes contained in a nodepool","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"header","name":"X-Pagination-Cursor","description":"Pagination cursor","schema":{"type":"string"}},{"in":"query","name":"history","description":"If set to true then returns DELETED nodes ordered by deletion date (most recently deleted first). Returns non-DELETED nodes if false or not set.","schema":{"type":"boolean"}},{"in":"path","name":"kubeId","description":"Kube ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"nodePoolId","description":"Node pool ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.kube.Node"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/kube/{kubeId}/nodepool/{nodePoolId}/nodes\")\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(\"/cloud/project/{serviceName}/kube/{kubeId}/nodepool/{nodePoolId}/nodes\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:kube/nodepool/nodes/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/kube/{kubeId}/openIdConnect":{"delete":{"summary":"Remove OpenIdConnect integration from APIServer","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"kubeId","description":"Kube ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/kube/{kubeId}/openIdConnect\")\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(\"/cloud/project/{serviceName}/kube/{kubeId}/openIdConnect\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:kube/openIdConnect/delete","required":true}]},"get":{"summary":"Get openIdConnect integration parameters","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"kubeId","description":"Kube ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.kube.OpenIdConnect"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/kube/{kubeId}/openIdConnect\")\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(\"/cloud/project/{serviceName}/kube/{kubeId}/openIdConnect\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:kube/openIdConnect/get","required":true}]},"post":{"summary":"Configure APIServer for OpenIdConnect","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"kubeId","description":"Kube ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ProjectKubeOpenIdConnectCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.kube.OpenIdConnect"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.ProjectKubeOpenIdConnectCreation\nresult = client.post(\"/cloud/project/{serviceName}/kube/{kubeId}/openIdConnect\",\n\tcaContent = None, # Content of the certificate for the CA, in base64 format, that signed your identity provider's web certificate. Defaults to the host's root CAs. (type: string, nullable)\n\tclientId = None, # Client ID (type: string)\n\tgroupsClaim = None, # JWT claim to use as the user's group. If the claim is present it must be an array of strings. (type: array, nullable)\n\tgroupsPrefix = None, # Prefix prepended to group claims to prevent clashes with existing names (such as system: groups). For example, the value oidc: will create group names like oidc:engineering and oidc:infra. (type: string, nullable)\n\tissuerUrl = None, # Issuer URL (type: string)\n\trequiredClaim = None, # key=value pairs that describe required claims in the ID Token. If set, the claims are verified to be present in the ID Token with a matching value. (type: array, nullable)\n\tsigningAlgorithms = None, # The signing algorithms accepted. Default is \"RS256\". (type: array, nullable)\n\tusernameClaim = None, # JWT claim to use as the user name. By default sub, which is expected to be a unique identifier of the end user. Admins can choose other claims, such as email or name, depending on their provider. However, claims other than email will be prefixed with the issuer URL to prevent naming clashes with other plugins. (type: string, nullable)\n\tusernamePrefix = None, # Prefix prepended to username claims to prevent clashes with existing names (such as system: users). For example, the value oidc: will create usernames like oidc:jane.doe. If this field isn't set and oidcUsernameClaim is a value other than email the prefix defaults to ( Issuer URL )# where ( Issuer URL ) is the value of oidcIssuerUrl. The value - can be used to disable all prefixing. (type: string, nullable)\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: cloud.ProjectKubeOpenIdConnectCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/kube/{kubeId}/openIdConnect\", array(\n\tcaContent => null, // Content of the certificate for the CA, in base64 format, that signed your identity provider's web certificate. Defaults to the host's root CAs. (type: string, nullable)\n\tclientId => null, // Client ID (type: string)\n\tgroupsClaim => null, // JWT claim to use as the user's group. If the claim is present it must be an array of strings. (type: array, nullable)\n\tgroupsPrefix => null, // Prefix prepended to group claims to prevent clashes with existing names (such as system: groups). For example, the value oidc: will create group names like oidc:engineering and oidc:infra. (type: string, nullable)\n\tissuerUrl => null, // Issuer URL (type: string)\n\trequiredClaim => null, // key=value pairs that describe required claims in the ID Token. If set, the claims are verified to be present in the ID Token with a matching value. (type: array, nullable)\n\tsigningAlgorithms => null, // The signing algorithms accepted. Default is \"RS256\". (type: array, nullable)\n\tusernameClaim => null, // JWT claim to use as the user name. By default sub, which is expected to be a unique identifier of the end user. Admins can choose other claims, such as email or name, depending on their provider. However, claims other than email will be prefixed with the issuer URL to prevent naming clashes with other plugins. (type: string, nullable)\n\tusernamePrefix => null, // Prefix prepended to username claims to prevent clashes with existing names (such as system: users). For example, the value oidc: will create usernames like oidc:jane.doe. If this field isn't set and oidcUsernameClaim is a value other than email the prefix defaults to ( Issuer URL )# where ( Issuer URL ) is the value of oidcIssuerUrl. The value - can be used to disable all prefixing. (type: string, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:kube/openIdConnect/create","required":true}]},"put":{"summary":"Update parameters and reconfigure APIServer","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"kubeId","description":"Kube ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ProjectKubeOpenIdConnectUpdate"}}}},"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.ProjectKubeOpenIdConnectUpdate\nresult = client.put(\"/cloud/project/{serviceName}/kube/{kubeId}/openIdConnect\",\n\tcaContent = None, # Content of the certificate for the CA, in base64 format, that signed your identity provider's web certificate. Defaults to the host's root CAs. (type: string, nullable)\n\tclientId = None, # Client ID (type: string)\n\tgroupsClaim = None, # JWT claim to use as the user's group. If the claim is present it must be an array of strings. (type: array, nullable)\n\tgroupsPrefix = None, # Prefix prepended to group claims to prevent clashes with existing names (such as system: groups). For example, the value oidc: will create group names like oidc:engineering and oidc:infra. (type: string, nullable)\n\tissuerUrl = None, # Issuer URL (type: string)\n\trequiredClaim = None, # key=value pairs that describe required claims in the ID Token. If set, the claims are verified to be present in the ID Token with a matching value. (type: array, nullable)\n\tsigningAlgorithms = None, # The signing algorithms accepted. Default is \"RS256\". (type: array, nullable)\n\tusernameClaim = None, # JWT claim to use as the user name. By default sub, which is expected to be a unique identifier of the end user. Admins can choose other claims, such as email or name, depending on their provider. However, claims other than email will be prefixed with the issuer URL to prevent naming clashes with other plugins. (type: string, nullable)\n\tusernamePrefix = None, # Prefix prepended to username claims to prevent clashes with existing names (such as system: users). For example, the value oidc: will create usernames like oidc:jane.doe. If this field isn't set and oidcUsernameClaim is a value other than email the prefix defaults to ( Issuer URL )# where ( Issuer URL ) is the value of oidcIssuerUrl. The value - can be used to disable all prefixing. (type: string, nullable)\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: cloud.ProjectKubeOpenIdConnectUpdate\n$result = $ovh->put(\"/cloud/project/{serviceName}/kube/{kubeId}/openIdConnect\", array(\n\tcaContent => null, // Content of the certificate for the CA, in base64 format, that signed your identity provider's web certificate. Defaults to the host's root CAs. (type: string, nullable)\n\tclientId => null, // Client ID (type: string)\n\tgroupsClaim => null, // JWT claim to use as the user's group. If the claim is present it must be an array of strings. (type: array, nullable)\n\tgroupsPrefix => null, // Prefix prepended to group claims to prevent clashes with existing names (such as system: groups). For example, the value oidc: will create group names like oidc:engineering and oidc:infra. (type: string, nullable)\n\tissuerUrl => null, // Issuer URL (type: string)\n\trequiredClaim => null, // key=value pairs that describe required claims in the ID Token. If set, the claims are verified to be present in the ID Token with a matching value. (type: array, nullable)\n\tsigningAlgorithms => null, // The signing algorithms accepted. Default is \"RS256\". (type: array, nullable)\n\tusernameClaim => null, // JWT claim to use as the user name. By default sub, which is expected to be a unique identifier of the end user. Admins can choose other claims, such as email or name, depending on their provider. However, claims other than email will be prefixed with the issuer URL to prevent naming clashes with other plugins. (type: string, nullable)\n\tusernamePrefix => null, // Prefix prepended to username claims to prevent clashes with existing names (such as system: users). For example, the value oidc: will create usernames like oidc:jane.doe. If this field isn't set and oidcUsernameClaim is a value other than email the prefix defaults to ( Issuer URL )# where ( Issuer URL ) is the value of oidcIssuerUrl. The value - can be used to disable all prefixing. (type: string, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:kube/openIdConnect/edit","required":true}]}},"/cloud/project/{serviceName}/kube/{kubeId}/privateNetworkConfiguration":{"get":{"summary":"Get private network configuration","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"kubeId","description":"Kube ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.kube.PrivateNetworkConfiguration"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/kube/{kubeId}/privateNetworkConfiguration\")\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(\"/cloud/project/{serviceName}/kube/{kubeId}/privateNetworkConfiguration\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:kube/privateNetworkConfiguration/get","required":true}]},"put":{"summary":"Update private network configuration","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"kubeId","description":"Kube ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.kube.PrivateNetworkConfiguration"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.kube.ResponseMessage"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.kube.PrivateNetworkConfiguration\nresult = client.put(\"/cloud/project/{serviceName}/kube/{kubeId}/privateNetworkConfiguration\",\n\tdefaultVrackGateway = None, # If defined, all egress traffic will be routed towards this IP address, which should belong to the private network. Empty string means disabled. (type: string)\n\tprivateNetworkRoutingAsDefault = None, # Defines whether routing should default to using the nodes' private interface, instead of their public interface. Default is false. (type: boolean, nullable)\n\tuseUserGateway = None, # When enabled, skips the prerequisite check for a router/gateway on the OpenStack subnet/network. By default (value false or not set), an OpenStack router/gateway is mandatory. (type: boolean, nullable)\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: cloud.kube.PrivateNetworkConfiguration\n$result = $ovh->put(\"/cloud/project/{serviceName}/kube/{kubeId}/privateNetworkConfiguration\", array(\n\tdefaultVrackGateway => null, // If defined, all egress traffic will be routed towards this IP address, which should belong to the private network. Empty string means disabled. (type: string)\n\tprivateNetworkRoutingAsDefault => null, // Defines whether routing should default to using the nodes' private interface, instead of their public interface. Default is false. (type: boolean, nullable)\n\tuseUserGateway => null, // When enabled, skips the prerequisite check for a router/gateway on the OpenStack subnet/network. By default (value false or not set), an OpenStack router/gateway is mandatory. (type: boolean, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:kube/privateNetworkConfiguration/edit","required":true}]}},"/cloud/project/{serviceName}/kube/{kubeId}/reset":{"post":{"summary":"Reset cluster: all Kubernetes data will be erased (pods, services, configuration, etc), nodes will be either deleted or reinstalled","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"kubeId","description":"Kube ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ProjectKubeResetCreation"}}}},"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.ProjectKubeResetCreation\nresult = client.post(\"/cloud/project/{serviceName}/kube/{kubeId}/reset\",\n\tcustomization = None, # Kubernetes cluster customization (type: cloud.ProjectKubeCustomization)\n\tipAllocationPolicy = None, # IP allocation policy. This field is optional. (type: cloud.ProjectKubeIpAllocationPolicy)\n\tkubeProxyMode = None, # Selected mode for kube-proxy (type: cloud.kube.KubeProxyModeEnum, nullable)\n\tloadBalancersSubnetId = None, # OpenStack subnet ID that the load balancers will use. Optional, can be updated with endpoint /cloud/project/{serviceName}/kube/{kubeId}/updateLoadBalancersSubnetId, can only be set if privateNetworkId and nodesSubnetId are also set (type: string)\n\tname = None, # New cluster name (type: string)\n\tnodesSubnetId = None, # OpenStack subnet ID that the cluster nodes will use. Optional, can only be set on cluster creation or reset, can only be set if privateNetworkId is also set. If unspecified, it will be selected automatically when the first node is created. (type: string)\n\tprivateNetworkConfiguration = None, # The private network configuration. (type: cloud.kube.PrivateNetworkConfiguration)\n\tprivateNetworkId = None, # OpenStack private network ID that the cluster will use. Optional, can only be set on cluster creation or reset. If unspecified, the cluster will use the public network. (type: string)\n\tupdatePolicy = None, # Enum values for UpdatePolicy (type: cloud.kube.UpdatePolicyEnum)\n\tversion = None, # Kubernetes version to use after reset, by default it keeps the current version (type: cloud.kube.VersionEnum)\n\tworkerNodesPolicy = None, # Worker nodes reset policy, default is delete (type: cloud.kube.ResetWorkerNodesPolicyEnum)\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: cloud.ProjectKubeResetCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/kube/{kubeId}/reset\", array(\n\tcustomization => null, // Kubernetes cluster customization (type: cloud.ProjectKubeCustomization)\n\tipAllocationPolicy => null, // IP allocation policy. This field is optional. (type: cloud.ProjectKubeIpAllocationPolicy)\n\tkubeProxyMode => null, // Selected mode for kube-proxy (type: cloud.kube.KubeProxyModeEnum, nullable)\n\tloadBalancersSubnetId => null, // OpenStack subnet ID that the load balancers will use. Optional, can be updated with endpoint /cloud/project/{serviceName}/kube/{kubeId}/updateLoadBalancersSubnetId, can only be set if privateNetworkId and nodesSubnetId are also set (type: string)\n\tname => null, // New cluster name (type: string)\n\tnodesSubnetId => null, // OpenStack subnet ID that the cluster nodes will use. Optional, can only be set on cluster creation or reset, can only be set if privateNetworkId is also set. If unspecified, it will be selected automatically when the first node is created. (type: string)\n\tprivateNetworkConfiguration => null, // The private network configuration. (type: cloud.kube.PrivateNetworkConfiguration)\n\tprivateNetworkId => null, // OpenStack private network ID that the cluster will use. Optional, can only be set on cluster creation or reset. If unspecified, the cluster will use the public network. (type: string)\n\tupdatePolicy => null, // Enum values for UpdatePolicy (type: cloud.kube.UpdatePolicyEnum)\n\tversion => null, // Kubernetes version to use after reset, by default it keeps the current version (type: cloud.kube.VersionEnum)\n\tworkerNodesPolicy => null, // Worker nodes reset policy, default is delete (type: cloud.kube.ResetWorkerNodesPolicyEnum)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:kube/reset","required":true}]}},"/cloud/project/{serviceName}/kube/{kubeId}/restart":{"post":{"summary":"Restarting your control plane apiserver to invalidate cache without downtime (using force will create a slight downtime)","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"kubeId","description":"Kube ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ProjectKubeRestart"}}}},"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.ProjectKubeRestart\nresult = client.post(\"/cloud/project/{serviceName}/kube/{kubeId}/restart\",\n\tforce = None, # Force restarting control plane apiserver (will create a slight downtime) (type: boolean, nullable)\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: cloud.ProjectKubeRestart\n$result = $ovh->post(\"/cloud/project/{serviceName}/kube/{kubeId}/restart\", array(\n\tforce => null, // Force restarting control plane apiserver (will create a slight downtime) (type: boolean, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:kube/restart","required":true}]}},"/cloud/project/{serviceName}/kube/{kubeId}/update":{"post":{"summary":"Force cluster and node update to the latest patch within minor version or next minor version","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"kubeId","description":"Kube ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ProjectKubeUpdateCreation"}}}},"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.ProjectKubeUpdateCreation\nresult = client.post(\"/cloud/project/{serviceName}/kube/{kubeId}/update\",\n\tforce = None, # Deprecated, has no effect (type: boolean, nullable)\n\tstrategy = None, # The update strategy to apply on your service (next patch or minor version) (type: cloud.kube.UpdateStrategyEnum)\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: cloud.ProjectKubeUpdateCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/kube/{kubeId}/update\", array(\n\tforce => null, // Deprecated, has no effect (type: boolean, nullable)\n\tstrategy => null, // The update strategy to apply on your service (next patch or minor version) (type: cloud.kube.UpdateStrategyEnum)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:kube/update","required":true}]}},"/cloud/project/{serviceName}/kube/{kubeId}/updateLoadBalancersSubnetId":{"put":{"summary":"Updates the load balancers subnet ID","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"kubeId","description":"Kube ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ProjectKubeUpdateLoadBalancersSubnetId"}}}},"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.ProjectKubeUpdateLoadBalancersSubnetId\nresult = client.put(\"/cloud/project/{serviceName}/kube/{kubeId}/updateLoadBalancersSubnetId\",\n\tloadBalancersSubnetId = None, # OpenStack subnet ID that the load balancers will use (type: string, nullable)\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: cloud.ProjectKubeUpdateLoadBalancersSubnetId\n$result = $ovh->put(\"/cloud/project/{serviceName}/kube/{kubeId}/updateLoadBalancersSubnetId\", array(\n\tloadBalancersSubnetId => null, // OpenStack subnet ID that the load balancers will use (type: string, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:kube/updateLoadBalancersSubnetId","required":true}]}},"/cloud/project/{serviceName}/kube/{kubeId}/updatePolicy":{"put":{"summary":"Change the update policy of your cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"kubeId","description":"Kube ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ProjectKubeUpdatePolicyUpdate"}}}},"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.ProjectKubeUpdatePolicyUpdate\nresult = client.put(\"/cloud/project/{serviceName}/kube/{kubeId}/updatePolicy\",\n\tupdatePolicy = None, # Update policy (type: cloud.kube.UpdatePolicyEnum)\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: cloud.ProjectKubeUpdatePolicyUpdate\n$result = $ovh->put(\"/cloud/project/{serviceName}/kube/{kubeId}/updatePolicy\", array(\n\tupdatePolicy => null, // Update policy (type: cloud.kube.UpdatePolicyEnum)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:kube/updatePolicy","required":true}]}},"/cloud/project/{serviceName}/lab":{"get":{"summary":"List available public cloud labs","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.Lab"}}}}}},"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(\"/cloud/project/{serviceName}/lab\")\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(\"/cloud/project/{serviceName}/lab\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:lab/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/lab/{labId}":{"get":{"summary":"Get details of a public cloud lab","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"labId","description":"Lab ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.Lab"}}}}},"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(\"/cloud/project/{serviceName}/lab/{labId}\")\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(\"/cloud/project/{serviceName}/lab/{labId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:lab/get","required":true}],"x-response-identifier":"id"},"post":{"summary":"Activate a lab on your Cloud Project","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"labId","description":"Lab ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.Operation"}}}}},"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.post(\"/cloud/project/{serviceName}/lab/{labId}\")\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->post(\"/cloud/project/{serviceName}/lab/{labId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:lab/create","required":true}]}},"/cloud/project/{serviceName}/lab/{labId}/agreement":{"get":{"summary":"List required agreements to active this lab","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"labId","description":"Lab ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.LabAgreements"}}}}},"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(\"/cloud/project/{serviceName}/lab/{labId}/agreement\")\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(\"/cloud/project/{serviceName}/lab/{labId}/agreement\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:lab/agreement/get","required":true}]}},"/cloud/project/{serviceName}/loadbalancer":{"get":{"operationId":"listLoadBalancers","summary":"List all load balancer for a tenant","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::CouldNotAssignIPToLoadBalancer":{"value":{"class":"Client::BadRequest::CouldNotAssignIPToLoadBalancer","message":"Could not assign an ip address to the load balancer '{{.loadbalancer}}'"}},"Client::BadRequest::CouldNotAssignRegionToLoadBalancer":{"value":{"class":"Client::BadRequest::CouldNotAssignRegionToLoadBalancer","message":"Could not assign load balancer to the region '{{.location}}', the list of region available is located at '/cloud/project/{{.tenant}}/capabilities/loadbalancer/region'"}},"Client::BadRequest::CouldNotCreateLoadBalancerConfigurationVersionMismatch":{"value":{"class":"Client::BadRequest::CouldNotCreateLoadBalancerConfigurationVersionMismatch","message":"Could not create load balancer '{{.loadbalancer}}' configuration, version mismatch, expected '{{.expected}}', but got '{{.got}}'"}},"Client::BadRequest::CouldNotCurrentDeleteLoadBalancerConfiguration":{"value":{"class":"Client::BadRequest::CouldNotCurrentDeleteLoadBalancerConfiguration","message":"Could not delete the current load balancer '{{.loadbalancer}}' configuration '{{.version}}'"}}}}}},"403":{"description":"Error 403 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Forbidden::LoadBalancerIsFrozen":{"value":{"class":"Client::Forbidden::LoadBalancerIsFrozen","message":"For legal purposes the load balancer '{{.loadbalancer}}' has been frozen"}},"Client::Forbidden::NotWhiteListed":{"value":{"class":"Client::Forbidden::NotWhiteListed","message":"This project is not allowed to order load-balancer"}}}}}},"500":{"description":"Error 500 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Server::InternalServerError::CouldNotApplyLoadBalancerConfiguration":{"value":{"class":"Server::InternalServerError::CouldNotApplyLoadBalancerConfiguration","message":"Could not apply load balancer '{{.loadbalancer}}' configuration '{{.version}}'"}},"Server::InternalServerError::CouldNotCreateLoadBalancer":{"value":{"class":"Server::InternalServerError::CouldNotCreateLoadBalancer","message":"Could not create a load balancer"}},"Server::InternalServerError::CouldNotCreateLoadBalancerConfiguration":{"value":{"class":"Server::InternalServerError::CouldNotCreateLoadBalancerConfiguration","message":"Could not create load balancer '{{.loadbalancer}}'"}},"Server::InternalServerError::CouldNotDeleteLoadBalancer":{"value":{"class":"Server::InternalServerError::CouldNotDeleteLoadBalancer","message":"Could not delete the load balancer '{{.loadbalancer}}'"}},"Server::InternalServerError::CouldNotDeleteLoadBalancerConfiguration":{"value":{"class":"Server::InternalServerError::CouldNotDeleteLoadBalancerConfiguration","message":"Could not delete load balancer '{{.loadbalancer}}' configuration '{{.version}}'"}},"Server::InternalServerError::CouldNotFindLoadBalancer":{"value":{"class":"Server::InternalServerError::CouldNotFindLoadBalancer","message":"Could not find load balancer '{{.loadbalancer}}'"}},"Server::InternalServerError::CouldNotFindLoadBalancerConfigurations":{"value":{"class":"Server::InternalServerError::CouldNotFindLoadBalancerConfigurations","message":"Could not find load balancer '{{.loadbalancer}}' configurations"}},"Server::InternalServerError::CouldNotFindLoadBalancerIP":{"value":{"class":"Server::InternalServerError::CouldNotFindLoadBalancerIP","message":"Could not find the load balancer '{{.loadbalancer}}' ip's address"}},"Server::InternalServerError::CouldNotFindLoadBalancerIPAddresses":{"value":{"class":"Server::InternalServerError::CouldNotFindLoadBalancerIPAddresses","message":"Could not find load balancer '{{.loadbalancer}}' ip's address"}},"Server::InternalServerError::CouldNotFindLoadBalancerLastAppliedConfiguration":{"value":{"class":"Server::InternalServerError::CouldNotFindLoadBalancerLastAppliedConfiguration","message":"Could not find load balancers '{{.loadbalancer}}' last applied configuration"}},"Server::InternalServerError::CouldNotFindLoadBalancerLatestConfiguration":{"value":{"class":"Server::InternalServerError::CouldNotFindLoadBalancerLatestConfiguration","message":"Could not find load balancers '{{.loadbalancer}}' latest configuration"}},"Server::InternalServerError::CouldNotFindRegion":{"value":{"class":"Server::InternalServerError::CouldNotFindRegion","message":"Could not find region '{{.location}}'"}},"Server::InternalServerError::CouldNotListLoadBalancers":{"value":{"class":"Server::InternalServerError::CouldNotListLoadBalancers","message":"Could not list load balancers"}},"Server::InternalServerError::CouldNotListRegions":{"value":{"class":"Server::InternalServerError::CouldNotListRegions","message":"Could not list available regions"}},"Server::InternalServerError::CouldNotParseRequest":{"value":{"class":"Server::InternalServerError::CouldNotParseRequest","message":"Could not parse the request"}},"Server::InternalServerError::CouldNotUpdateLoadBalancer":{"value":{"class":"Server::InternalServerError::CouldNotUpdateLoadBalancer","message":"Could not update the load balancer '{{.loadbalancer}}'"}},"Server::InternalServerError::CouldNotUpdateLoadBalancerConfiguration":{"value":{"class":"Server::InternalServerError::CouldNotUpdateLoadBalancerConfiguration","message":"Could not update load balancer '{{.loadbalancer}}' configuration '{{.version}}'"}},"Server::InternalServerError::MarshalingError":{"value":{"class":"Server::InternalServerError::MarshalingError","message":"Could not serialize the response"}},"Server::InternalServerError::MissingParameterInRequestContext":{"value":{"class":"Server::InternalServerError::MissingParameterInRequestContext","message":"Could not process the request"}}}}}}},"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(\"/cloud/project/{serviceName}/loadbalancer\")\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(\"/cloud/project/{serviceName}/loadbalancer\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:loadbalancer/get","required":true}],"x-expanded-response":"CloudProjectLoadBalancer"},"post":{"operationId":"createLoadBalancer","summary":"Create a load balancer","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.LoadBalancerCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.LoadBalancer"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::CouldNotAssignIPToLoadBalancer":{"value":{"class":"Client::BadRequest::CouldNotAssignIPToLoadBalancer","message":"Could not assign an ip address to the load balancer '{{.loadbalancer}}'"}},"Client::BadRequest::CouldNotAssignRegionToLoadBalancer":{"value":{"class":"Client::BadRequest::CouldNotAssignRegionToLoadBalancer","message":"Could not assign load balancer to the region '{{.location}}', the list of region available is located at '/cloud/project/{{.tenant}}/capabilities/loadbalancer/region'"}},"Client::BadRequest::CouldNotCreateLoadBalancerConfigurationVersionMismatch":{"value":{"class":"Client::BadRequest::CouldNotCreateLoadBalancerConfigurationVersionMismatch","message":"Could not create load balancer '{{.loadbalancer}}' configuration, version mismatch, expected '{{.expected}}', but got '{{.got}}'"}},"Client::BadRequest::CouldNotCurrentDeleteLoadBalancerConfiguration":{"value":{"class":"Client::BadRequest::CouldNotCurrentDeleteLoadBalancerConfiguration","message":"Could not delete the current load balancer '{{.loadbalancer}}' configuration '{{.version}}'"}}}}}},"403":{"description":"Error 403 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Forbidden::LoadBalancerIsFrozen":{"value":{"class":"Client::Forbidden::LoadBalancerIsFrozen","message":"For legal purposes the load balancer '{{.loadbalancer}}' has been frozen"}},"Client::Forbidden::NotWhiteListed":{"value":{"class":"Client::Forbidden::NotWhiteListed","message":"This project is not allowed to order load-balancer"}}}}}},"500":{"description":"Error 500 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Server::InternalServerError::CouldNotApplyLoadBalancerConfiguration":{"value":{"class":"Server::InternalServerError::CouldNotApplyLoadBalancerConfiguration","message":"Could not apply load balancer '{{.loadbalancer}}' configuration '{{.version}}'"}},"Server::InternalServerError::CouldNotCreateLoadBalancer":{"value":{"class":"Server::InternalServerError::CouldNotCreateLoadBalancer","message":"Could not create a load balancer"}},"Server::InternalServerError::CouldNotCreateLoadBalancerConfiguration":{"value":{"class":"Server::InternalServerError::CouldNotCreateLoadBalancerConfiguration","message":"Could not create load balancer '{{.loadbalancer}}'"}},"Server::InternalServerError::CouldNotDeleteLoadBalancer":{"value":{"class":"Server::InternalServerError::CouldNotDeleteLoadBalancer","message":"Could not delete the load balancer '{{.loadbalancer}}'"}},"Server::InternalServerError::CouldNotDeleteLoadBalancerConfiguration":{"value":{"class":"Server::InternalServerError::CouldNotDeleteLoadBalancerConfiguration","message":"Could not delete load balancer '{{.loadbalancer}}' configuration '{{.version}}'"}},"Server::InternalServerError::CouldNotFindLoadBalancer":{"value":{"class":"Server::InternalServerError::CouldNotFindLoadBalancer","message":"Could not find load balancer '{{.loadbalancer}}'"}},"Server::InternalServerError::CouldNotFindLoadBalancerConfigurations":{"value":{"class":"Server::InternalServerError::CouldNotFindLoadBalancerConfigurations","message":"Could not find load balancer '{{.loadbalancer}}' configurations"}},"Server::InternalServerError::CouldNotFindLoadBalancerIP":{"value":{"class":"Server::InternalServerError::CouldNotFindLoadBalancerIP","message":"Could not find the load balancer '{{.loadbalancer}}' ip's address"}},"Server::InternalServerError::CouldNotFindLoadBalancerIPAddresses":{"value":{"class":"Server::InternalServerError::CouldNotFindLoadBalancerIPAddresses","message":"Could not find load balancer '{{.loadbalancer}}' ip's address"}},"Server::InternalServerError::CouldNotFindLoadBalancerLastAppliedConfiguration":{"value":{"class":"Server::InternalServerError::CouldNotFindLoadBalancerLastAppliedConfiguration","message":"Could not find load balancers '{{.loadbalancer}}' last applied configuration"}},"Server::InternalServerError::CouldNotFindLoadBalancerLatestConfiguration":{"value":{"class":"Server::InternalServerError::CouldNotFindLoadBalancerLatestConfiguration","message":"Could not find load balancers '{{.loadbalancer}}' latest configuration"}},"Server::InternalServerError::CouldNotFindRegion":{"value":{"class":"Server::InternalServerError::CouldNotFindRegion","message":"Could not find region '{{.location}}'"}},"Server::InternalServerError::CouldNotListLoadBalancers":{"value":{"class":"Server::InternalServerError::CouldNotListLoadBalancers","message":"Could not list load balancers"}},"Server::InternalServerError::CouldNotListRegions":{"value":{"class":"Server::InternalServerError::CouldNotListRegions","message":"Could not list available regions"}},"Server::InternalServerError::CouldNotParseRequest":{"value":{"class":"Server::InternalServerError::CouldNotParseRequest","message":"Could not parse the request"}},"Server::InternalServerError::CouldNotUpdateLoadBalancer":{"value":{"class":"Server::InternalServerError::CouldNotUpdateLoadBalancer","message":"Could not update the load balancer '{{.loadbalancer}}'"}},"Server::InternalServerError::CouldNotUpdateLoadBalancerConfiguration":{"value":{"class":"Server::InternalServerError::CouldNotUpdateLoadBalancerConfiguration","message":"Could not update load balancer '{{.loadbalancer}}' configuration '{{.version}}'"}},"Server::InternalServerError::MarshalingError":{"value":{"class":"Server::InternalServerError::MarshalingError","message":"Could not serialize the response"}},"Server::InternalServerError::MissingParameterInRequestContext":{"value":{"class":"Server::InternalServerError::MissingParameterInRequestContext","message":"Could not process the request"}}}}}}},"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: cloud.project.LoadBalancerCreation\nresult = client.post(\"/cloud/project/{serviceName}/loadbalancer\",\n\tdescription = None, # Description of the load balancer (type: string, nullable)\n\tname = None, # Name of the load balancer (type: string, nullable)\n\tnetworking = None, # Networking definition (type: cloud.project.loadbalancer.networking.NetworkingCreation, nullable)\n\topenstackRegion = None, # Openstack Region where the load balancer is hosted (type: string)\n\tregion = None, # Region where the load balancer is hosted (type: string)\n\tsize = None, # Size of the load balancer (type: cloud.project.loadbalancer.SizeEnum, nullable)\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: cloud.project.LoadBalancerCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/loadbalancer\", array(\n\tdescription => null, // Description of the load balancer (type: string, nullable)\n\tname => null, // Name of the load balancer (type: string, nullable)\n\tnetworking => null, // Networking definition (type: cloud.project.loadbalancer.networking.NetworkingCreation, nullable)\n\topenstackRegion => null, // Openstack Region where the load balancer is hosted (type: string)\n\tregion => null, // Region where the load balancer is hosted (type: string)\n\tsize => null, // Size of the load balancer (type: cloud.project.loadbalancer.SizeEnum, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:loadbalancer/create","required":true}]}},"/cloud/project/{serviceName}/loadbalancer/{loadBalancerId}":{"delete":{"operationId":"deleteLoadBalancer","summary":"Delete a load balancer","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"loadBalancerId","description":"Load balancer ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"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(\"/cloud/project/{serviceName}/loadbalancer/{loadBalancerId}\")\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(\"/cloud/project/{serviceName}/loadbalancer/{loadBalancerId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:loadbalancer/delete","required":true}]},"get":{"operationId":"getLoadBalancer","summary":"Get a load balancer","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"loadBalancerId","description":"Load balancer ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.LoadBalancer"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::CouldNotAssignIPToLoadBalancer":{"value":{"class":"Client::BadRequest::CouldNotAssignIPToLoadBalancer","message":"Could not assign an ip address to the load balancer '{{.loadbalancer}}'"}},"Client::BadRequest::CouldNotAssignRegionToLoadBalancer":{"value":{"class":"Client::BadRequest::CouldNotAssignRegionToLoadBalancer","message":"Could not assign load balancer to the region '{{.location}}', the list of region available is located at '/cloud/project/{{.tenant}}/capabilities/loadbalancer/region'"}},"Client::BadRequest::CouldNotCreateLoadBalancerConfigurationVersionMismatch":{"value":{"class":"Client::BadRequest::CouldNotCreateLoadBalancerConfigurationVersionMismatch","message":"Could not create load balancer '{{.loadbalancer}}' configuration, version mismatch, expected '{{.expected}}', but got '{{.got}}'"}},"Client::BadRequest::CouldNotCurrentDeleteLoadBalancerConfiguration":{"value":{"class":"Client::BadRequest::CouldNotCurrentDeleteLoadBalancerConfiguration","message":"Could not delete the current load balancer '{{.loadbalancer}}' configuration '{{.version}}'"}}}}}},"403":{"description":"Error 403 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Forbidden::LoadBalancerIsFrozen":{"value":{"class":"Client::Forbidden::LoadBalancerIsFrozen","message":"For legal purposes the load balancer '{{.loadbalancer}}' has been frozen"}},"Client::Forbidden::NotWhiteListed":{"value":{"class":"Client::Forbidden::NotWhiteListed","message":"This project is not allowed to order load-balancer"}}}}}},"500":{"description":"Error 500 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Server::InternalServerError::CouldNotApplyLoadBalancerConfiguration":{"value":{"class":"Server::InternalServerError::CouldNotApplyLoadBalancerConfiguration","message":"Could not apply load balancer '{{.loadbalancer}}' configuration '{{.version}}'"}},"Server::InternalServerError::CouldNotCreateLoadBalancer":{"value":{"class":"Server::InternalServerError::CouldNotCreateLoadBalancer","message":"Could not create a load balancer"}},"Server::InternalServerError::CouldNotCreateLoadBalancerConfiguration":{"value":{"class":"Server::InternalServerError::CouldNotCreateLoadBalancerConfiguration","message":"Could not create load balancer '{{.loadbalancer}}'"}},"Server::InternalServerError::CouldNotDeleteLoadBalancer":{"value":{"class":"Server::InternalServerError::CouldNotDeleteLoadBalancer","message":"Could not delete the load balancer '{{.loadbalancer}}'"}},"Server::InternalServerError::CouldNotDeleteLoadBalancerConfiguration":{"value":{"class":"Server::InternalServerError::CouldNotDeleteLoadBalancerConfiguration","message":"Could not delete load balancer '{{.loadbalancer}}' configuration '{{.version}}'"}},"Server::InternalServerError::CouldNotFindLoadBalancer":{"value":{"class":"Server::InternalServerError::CouldNotFindLoadBalancer","message":"Could not find load balancer '{{.loadbalancer}}'"}},"Server::InternalServerError::CouldNotFindLoadBalancerConfigurations":{"value":{"class":"Server::InternalServerError::CouldNotFindLoadBalancerConfigurations","message":"Could not find load balancer '{{.loadbalancer}}' configurations"}},"Server::InternalServerError::CouldNotFindLoadBalancerIP":{"value":{"class":"Server::InternalServerError::CouldNotFindLoadBalancerIP","message":"Could not find the load balancer '{{.loadbalancer}}' ip's address"}},"Server::InternalServerError::CouldNotFindLoadBalancerIPAddresses":{"value":{"class":"Server::InternalServerError::CouldNotFindLoadBalancerIPAddresses","message":"Could not find load balancer '{{.loadbalancer}}' ip's address"}},"Server::InternalServerError::CouldNotFindLoadBalancerLastAppliedConfiguration":{"value":{"class":"Server::InternalServerError::CouldNotFindLoadBalancerLastAppliedConfiguration","message":"Could not find load balancers '{{.loadbalancer}}' last applied configuration"}},"Server::InternalServerError::CouldNotFindLoadBalancerLatestConfiguration":{"value":{"class":"Server::InternalServerError::CouldNotFindLoadBalancerLatestConfiguration","message":"Could not find load balancers '{{.loadbalancer}}' latest configuration"}},"Server::InternalServerError::CouldNotFindRegion":{"value":{"class":"Server::InternalServerError::CouldNotFindRegion","message":"Could not find region '{{.location}}'"}},"Server::InternalServerError::CouldNotListLoadBalancers":{"value":{"class":"Server::InternalServerError::CouldNotListLoadBalancers","message":"Could not list load balancers"}},"Server::InternalServerError::CouldNotListRegions":{"value":{"class":"Server::InternalServerError::CouldNotListRegions","message":"Could not list available regions"}},"Server::InternalServerError::CouldNotParseRequest":{"value":{"class":"Server::InternalServerError::CouldNotParseRequest","message":"Could not parse the request"}},"Server::InternalServerError::CouldNotUpdateLoadBalancer":{"value":{"class":"Server::InternalServerError::CouldNotUpdateLoadBalancer","message":"Could not update the load balancer '{{.loadbalancer}}'"}},"Server::InternalServerError::CouldNotUpdateLoadBalancerConfiguration":{"value":{"class":"Server::InternalServerError::CouldNotUpdateLoadBalancerConfiguration","message":"Could not update load balancer '{{.loadbalancer}}' configuration '{{.version}}'"}},"Server::InternalServerError::MarshalingError":{"value":{"class":"Server::InternalServerError::MarshalingError","message":"Could not serialize the response"}},"Server::InternalServerError::MissingParameterInRequestContext":{"value":{"class":"Server::InternalServerError::MissingParameterInRequestContext","message":"Could not process the request"}}}}}}},"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(\"/cloud/project/{serviceName}/loadbalancer/{loadBalancerId}\")\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(\"/cloud/project/{serviceName}/loadbalancer/{loadBalancerId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:loadbalancer/get","required":true}],"x-response-identifier":"id"},"put":{"operationId":"updateLoadBalancer","summary":"Update a load balancer","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"loadBalancerId","description":"Load balancer ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.LoadBalancer"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.LoadBalancer"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::CouldNotAssignIPToLoadBalancer":{"value":{"class":"Client::BadRequest::CouldNotAssignIPToLoadBalancer","message":"Could not assign an ip address to the load balancer '{{.loadbalancer}}'"}},"Client::BadRequest::CouldNotAssignRegionToLoadBalancer":{"value":{"class":"Client::BadRequest::CouldNotAssignRegionToLoadBalancer","message":"Could not assign load balancer to the region '{{.location}}', the list of region available is located at '/cloud/project/{{.tenant}}/capabilities/loadbalancer/region'"}},"Client::BadRequest::CouldNotCreateLoadBalancerConfigurationVersionMismatch":{"value":{"class":"Client::BadRequest::CouldNotCreateLoadBalancerConfigurationVersionMismatch","message":"Could not create load balancer '{{.loadbalancer}}' configuration, version mismatch, expected '{{.expected}}', but got '{{.got}}'"}},"Client::BadRequest::CouldNotCurrentDeleteLoadBalancerConfiguration":{"value":{"class":"Client::BadRequest::CouldNotCurrentDeleteLoadBalancerConfiguration","message":"Could not delete the current load balancer '{{.loadbalancer}}' configuration '{{.version}}'"}}}}}},"403":{"description":"Error 403 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Forbidden::LoadBalancerIsFrozen":{"value":{"class":"Client::Forbidden::LoadBalancerIsFrozen","message":"For legal purposes the load balancer '{{.loadbalancer}}' has been frozen"}},"Client::Forbidden::NotWhiteListed":{"value":{"class":"Client::Forbidden::NotWhiteListed","message":"This project is not allowed to order load-balancer"}}}}}},"500":{"description":"Error 500 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Server::InternalServerError::CouldNotApplyLoadBalancerConfiguration":{"value":{"class":"Server::InternalServerError::CouldNotApplyLoadBalancerConfiguration","message":"Could not apply load balancer '{{.loadbalancer}}' configuration '{{.version}}'"}},"Server::InternalServerError::CouldNotCreateLoadBalancer":{"value":{"class":"Server::InternalServerError::CouldNotCreateLoadBalancer","message":"Could not create a load balancer"}},"Server::InternalServerError::CouldNotCreateLoadBalancerConfiguration":{"value":{"class":"Server::InternalServerError::CouldNotCreateLoadBalancerConfiguration","message":"Could not create load balancer '{{.loadbalancer}}'"}},"Server::InternalServerError::CouldNotDeleteLoadBalancer":{"value":{"class":"Server::InternalServerError::CouldNotDeleteLoadBalancer","message":"Could not delete the load balancer '{{.loadbalancer}}'"}},"Server::InternalServerError::CouldNotDeleteLoadBalancerConfiguration":{"value":{"class":"Server::InternalServerError::CouldNotDeleteLoadBalancerConfiguration","message":"Could not delete load balancer '{{.loadbalancer}}' configuration '{{.version}}'"}},"Server::InternalServerError::CouldNotFindLoadBalancer":{"value":{"class":"Server::InternalServerError::CouldNotFindLoadBalancer","message":"Could not find load balancer '{{.loadbalancer}}'"}},"Server::InternalServerError::CouldNotFindLoadBalancerConfigurations":{"value":{"class":"Server::InternalServerError::CouldNotFindLoadBalancerConfigurations","message":"Could not find load balancer '{{.loadbalancer}}' configurations"}},"Server::InternalServerError::CouldNotFindLoadBalancerIP":{"value":{"class":"Server::InternalServerError::CouldNotFindLoadBalancerIP","message":"Could not find the load balancer '{{.loadbalancer}}' ip's address"}},"Server::InternalServerError::CouldNotFindLoadBalancerIPAddresses":{"value":{"class":"Server::InternalServerError::CouldNotFindLoadBalancerIPAddresses","message":"Could not find load balancer '{{.loadbalancer}}' ip's address"}},"Server::InternalServerError::CouldNotFindLoadBalancerLastAppliedConfiguration":{"value":{"class":"Server::InternalServerError::CouldNotFindLoadBalancerLastAppliedConfiguration","message":"Could not find load balancers '{{.loadbalancer}}' last applied configuration"}},"Server::InternalServerError::CouldNotFindLoadBalancerLatestConfiguration":{"value":{"class":"Server::InternalServerError::CouldNotFindLoadBalancerLatestConfiguration","message":"Could not find load balancers '{{.loadbalancer}}' latest configuration"}},"Server::InternalServerError::CouldNotFindRegion":{"value":{"class":"Server::InternalServerError::CouldNotFindRegion","message":"Could not find region '{{.location}}'"}},"Server::InternalServerError::CouldNotListLoadBalancers":{"value":{"class":"Server::InternalServerError::CouldNotListLoadBalancers","message":"Could not list load balancers"}},"Server::InternalServerError::CouldNotListRegions":{"value":{"class":"Server::InternalServerError::CouldNotListRegions","message":"Could not list available regions"}},"Server::InternalServerError::CouldNotParseRequest":{"value":{"class":"Server::InternalServerError::CouldNotParseRequest","message":"Could not parse the request"}},"Server::InternalServerError::CouldNotUpdateLoadBalancer":{"value":{"class":"Server::InternalServerError::CouldNotUpdateLoadBalancer","message":"Could not update the load balancer '{{.loadbalancer}}'"}},"Server::InternalServerError::CouldNotUpdateLoadBalancerConfiguration":{"value":{"class":"Server::InternalServerError::CouldNotUpdateLoadBalancerConfiguration","message":"Could not update load balancer '{{.loadbalancer}}' configuration '{{.version}}'"}},"Server::InternalServerError::MarshalingError":{"value":{"class":"Server::InternalServerError::MarshalingError","message":"Could not serialize the response"}},"Server::InternalServerError::MissingParameterInRequestContext":{"value":{"class":"Server::InternalServerError::MissingParameterInRequestContext","message":"Could not process the request"}}}}}}},"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: cloud.project.LoadBalancer\nresult = client.put(\"/cloud/project/{serviceName}/loadbalancer/{loadBalancerId}\",\n\tdescription = None, # Description of the load balancer (type: string, nullable)\n\tname = None, # Name of the load balancer (type: string, nullable)\n\tsize = None, # Size of the load balancer (type: cloud.project.loadbalancer.SizeEnum)\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: cloud.project.LoadBalancer\n$result = $ovh->put(\"/cloud/project/{serviceName}/loadbalancer/{loadBalancerId}\", array(\n\tdescription => null, // Description of the load balancer (type: string, nullable)\n\tname => null, // Name of the load balancer (type: string, nullable)\n\tsize => null, // Size of the load balancer (type: cloud.project.loadbalancer.SizeEnum)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:loadbalancer/edit","required":true}]}},"/cloud/project/{serviceName}/loadbalancer/{loadBalancerId}/configuration":{"get":{"operationId":"listLoadBalancerConfigurations","summary":"List all versions of the configuration","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"loadBalancerId","description":"Load balancer ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"integer"}}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::CouldNotAssignIPToLoadBalancer":{"value":{"class":"Client::BadRequest::CouldNotAssignIPToLoadBalancer","message":"Could not assign an ip address to the load balancer '{{.loadbalancer}}'"}},"Client::BadRequest::CouldNotAssignRegionToLoadBalancer":{"value":{"class":"Client::BadRequest::CouldNotAssignRegionToLoadBalancer","message":"Could not assign load balancer to the region '{{.location}}', the list of region available is located at '/cloud/project/{{.tenant}}/capabilities/loadbalancer/region'"}},"Client::BadRequest::CouldNotCreateLoadBalancerConfigurationVersionMismatch":{"value":{"class":"Client::BadRequest::CouldNotCreateLoadBalancerConfigurationVersionMismatch","message":"Could not create load balancer '{{.loadbalancer}}' configuration, version mismatch, expected '{{.expected}}', but got '{{.got}}'"}},"Client::BadRequest::CouldNotCurrentDeleteLoadBalancerConfiguration":{"value":{"class":"Client::BadRequest::CouldNotCurrentDeleteLoadBalancerConfiguration","message":"Could not delete the current load balancer '{{.loadbalancer}}' configuration '{{.version}}'"}}}}}},"403":{"description":"Error 403 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Forbidden::LoadBalancerIsFrozen":{"value":{"class":"Client::Forbidden::LoadBalancerIsFrozen","message":"For legal purposes the load balancer '{{.loadbalancer}}' has been frozen"}},"Client::Forbidden::NotWhiteListed":{"value":{"class":"Client::Forbidden::NotWhiteListed","message":"This project is not allowed to order load-balancer"}}}}}},"500":{"description":"Error 500 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Server::InternalServerError::CouldNotApplyLoadBalancerConfiguration":{"value":{"class":"Server::InternalServerError::CouldNotApplyLoadBalancerConfiguration","message":"Could not apply load balancer '{{.loadbalancer}}' configuration '{{.version}}'"}},"Server::InternalServerError::CouldNotCreateLoadBalancer":{"value":{"class":"Server::InternalServerError::CouldNotCreateLoadBalancer","message":"Could not create a load balancer"}},"Server::InternalServerError::CouldNotCreateLoadBalancerConfiguration":{"value":{"class":"Server::InternalServerError::CouldNotCreateLoadBalancerConfiguration","message":"Could not create load balancer '{{.loadbalancer}}'"}},"Server::InternalServerError::CouldNotDeleteLoadBalancer":{"value":{"class":"Server::InternalServerError::CouldNotDeleteLoadBalancer","message":"Could not delete the load balancer '{{.loadbalancer}}'"}},"Server::InternalServerError::CouldNotDeleteLoadBalancerConfiguration":{"value":{"class":"Server::InternalServerError::CouldNotDeleteLoadBalancerConfiguration","message":"Could not delete load balancer '{{.loadbalancer}}' configuration '{{.version}}'"}},"Server::InternalServerError::CouldNotFindLoadBalancer":{"value":{"class":"Server::InternalServerError::CouldNotFindLoadBalancer","message":"Could not find load balancer '{{.loadbalancer}}'"}},"Server::InternalServerError::CouldNotFindLoadBalancerConfigurations":{"value":{"class":"Server::InternalServerError::CouldNotFindLoadBalancerConfigurations","message":"Could not find load balancer '{{.loadbalancer}}' configurations"}},"Server::InternalServerError::CouldNotFindLoadBalancerIP":{"value":{"class":"Server::InternalServerError::CouldNotFindLoadBalancerIP","message":"Could not find the load balancer '{{.loadbalancer}}' ip's address"}},"Server::InternalServerError::CouldNotFindLoadBalancerIPAddresses":{"value":{"class":"Server::InternalServerError::CouldNotFindLoadBalancerIPAddresses","message":"Could not find load balancer '{{.loadbalancer}}' ip's address"}},"Server::InternalServerError::CouldNotFindLoadBalancerLastAppliedConfiguration":{"value":{"class":"Server::InternalServerError::CouldNotFindLoadBalancerLastAppliedConfiguration","message":"Could not find load balancers '{{.loadbalancer}}' last applied configuration"}},"Server::InternalServerError::CouldNotFindLoadBalancerLatestConfiguration":{"value":{"class":"Server::InternalServerError::CouldNotFindLoadBalancerLatestConfiguration","message":"Could not find load balancers '{{.loadbalancer}}' latest configuration"}},"Server::InternalServerError::CouldNotFindRegion":{"value":{"class":"Server::InternalServerError::CouldNotFindRegion","message":"Could not find region '{{.location}}'"}},"Server::InternalServerError::CouldNotListLoadBalancers":{"value":{"class":"Server::InternalServerError::CouldNotListLoadBalancers","message":"Could not list load balancers"}},"Server::InternalServerError::CouldNotListRegions":{"value":{"class":"Server::InternalServerError::CouldNotListRegions","message":"Could not list available regions"}},"Server::InternalServerError::CouldNotParseRequest":{"value":{"class":"Server::InternalServerError::CouldNotParseRequest","message":"Could not parse the request"}},"Server::InternalServerError::CouldNotUpdateLoadBalancer":{"value":{"class":"Server::InternalServerError::CouldNotUpdateLoadBalancer","message":"Could not update the load balancer '{{.loadbalancer}}'"}},"Server::InternalServerError::CouldNotUpdateLoadBalancerConfiguration":{"value":{"class":"Server::InternalServerError::CouldNotUpdateLoadBalancerConfiguration","message":"Could not update load balancer '{{.loadbalancer}}' configuration '{{.version}}'"}},"Server::InternalServerError::MarshalingError":{"value":{"class":"Server::InternalServerError::MarshalingError","message":"Could not serialize the response"}},"Server::InternalServerError::MissingParameterInRequestContext":{"value":{"class":"Server::InternalServerError::MissingParameterInRequestContext","message":"Could not process the request"}}}}}}},"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(\"/cloud/project/{serviceName}/loadbalancer/{loadBalancerId}/configuration\")\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(\"/cloud/project/{serviceName}/loadbalancer/{loadBalancerId}/configuration\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:loadbalancer/configuration/get","required":true}],"x-expanded-response":"CloudProjectLoadbalancerConfiguration"},"post":{"operationId":"createLoadBalancerConfiguration","summary":"Create a configuration","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"loadBalancerId","description":"Load balancer ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.loadbalancer.ConfigurationCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.loadbalancer.Configuration"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::CouldNotAssignIPToLoadBalancer":{"value":{"class":"Client::BadRequest::CouldNotAssignIPToLoadBalancer","message":"Could not assign an ip address to the load balancer '{{.loadbalancer}}'"}},"Client::BadRequest::CouldNotAssignRegionToLoadBalancer":{"value":{"class":"Client::BadRequest::CouldNotAssignRegionToLoadBalancer","message":"Could not assign load balancer to the region '{{.location}}', the list of region available is located at '/cloud/project/{{.tenant}}/capabilities/loadbalancer/region'"}},"Client::BadRequest::CouldNotCreateLoadBalancerConfigurationVersionMismatch":{"value":{"class":"Client::BadRequest::CouldNotCreateLoadBalancerConfigurationVersionMismatch","message":"Could not create load balancer '{{.loadbalancer}}' configuration, version mismatch, expected '{{.expected}}', but got '{{.got}}'"}},"Client::BadRequest::CouldNotCurrentDeleteLoadBalancerConfiguration":{"value":{"class":"Client::BadRequest::CouldNotCurrentDeleteLoadBalancerConfiguration","message":"Could not delete the current load balancer '{{.loadbalancer}}' configuration '{{.version}}'"}}}}}},"403":{"description":"Error 403 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Forbidden::LoadBalancerIsFrozen":{"value":{"class":"Client::Forbidden::LoadBalancerIsFrozen","message":"For legal purposes the load balancer '{{.loadbalancer}}' has been frozen"}},"Client::Forbidden::NotWhiteListed":{"value":{"class":"Client::Forbidden::NotWhiteListed","message":"This project is not allowed to order load-balancer"}}}}}},"500":{"description":"Error 500 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Server::InternalServerError::CouldNotApplyLoadBalancerConfiguration":{"value":{"class":"Server::InternalServerError::CouldNotApplyLoadBalancerConfiguration","message":"Could not apply load balancer '{{.loadbalancer}}' configuration '{{.version}}'"}},"Server::InternalServerError::CouldNotCreateLoadBalancer":{"value":{"class":"Server::InternalServerError::CouldNotCreateLoadBalancer","message":"Could not create a load balancer"}},"Server::InternalServerError::CouldNotCreateLoadBalancerConfiguration":{"value":{"class":"Server::InternalServerError::CouldNotCreateLoadBalancerConfiguration","message":"Could not create load balancer '{{.loadbalancer}}'"}},"Server::InternalServerError::CouldNotDeleteLoadBalancer":{"value":{"class":"Server::InternalServerError::CouldNotDeleteLoadBalancer","message":"Could not delete the load balancer '{{.loadbalancer}}'"}},"Server::InternalServerError::CouldNotDeleteLoadBalancerConfiguration":{"value":{"class":"Server::InternalServerError::CouldNotDeleteLoadBalancerConfiguration","message":"Could not delete load balancer '{{.loadbalancer}}' configuration '{{.version}}'"}},"Server::InternalServerError::CouldNotFindLoadBalancer":{"value":{"class":"Server::InternalServerError::CouldNotFindLoadBalancer","message":"Could not find load balancer '{{.loadbalancer}}'"}},"Server::InternalServerError::CouldNotFindLoadBalancerConfigurations":{"value":{"class":"Server::InternalServerError::CouldNotFindLoadBalancerConfigurations","message":"Could not find load balancer '{{.loadbalancer}}' configurations"}},"Server::InternalServerError::CouldNotFindLoadBalancerIP":{"value":{"class":"Server::InternalServerError::CouldNotFindLoadBalancerIP","message":"Could not find the load balancer '{{.loadbalancer}}' ip's address"}},"Server::InternalServerError::CouldNotFindLoadBalancerIPAddresses":{"value":{"class":"Server::InternalServerError::CouldNotFindLoadBalancerIPAddresses","message":"Could not find load balancer '{{.loadbalancer}}' ip's address"}},"Server::InternalServerError::CouldNotFindLoadBalancerLastAppliedConfiguration":{"value":{"class":"Server::InternalServerError::CouldNotFindLoadBalancerLastAppliedConfiguration","message":"Could not find load balancers '{{.loadbalancer}}' last applied configuration"}},"Server::InternalServerError::CouldNotFindLoadBalancerLatestConfiguration":{"value":{"class":"Server::InternalServerError::CouldNotFindLoadBalancerLatestConfiguration","message":"Could not find load balancers '{{.loadbalancer}}' latest configuration"}},"Server::InternalServerError::CouldNotFindRegion":{"value":{"class":"Server::InternalServerError::CouldNotFindRegion","message":"Could not find region '{{.location}}'"}},"Server::InternalServerError::CouldNotListLoadBalancers":{"value":{"class":"Server::InternalServerError::CouldNotListLoadBalancers","message":"Could not list load balancers"}},"Server::InternalServerError::CouldNotListRegions":{"value":{"class":"Server::InternalServerError::CouldNotListRegions","message":"Could not list available regions"}},"Server::InternalServerError::CouldNotParseRequest":{"value":{"class":"Server::InternalServerError::CouldNotParseRequest","message":"Could not parse the request"}},"Server::InternalServerError::CouldNotUpdateLoadBalancer":{"value":{"class":"Server::InternalServerError::CouldNotUpdateLoadBalancer","message":"Could not update the load balancer '{{.loadbalancer}}'"}},"Server::InternalServerError::CouldNotUpdateLoadBalancerConfiguration":{"value":{"class":"Server::InternalServerError::CouldNotUpdateLoadBalancerConfiguration","message":"Could not update load balancer '{{.loadbalancer}}' configuration '{{.version}}'"}},"Server::InternalServerError::MarshalingError":{"value":{"class":"Server::InternalServerError::MarshalingError","message":"Could not serialize the response"}},"Server::InternalServerError::MissingParameterInRequestContext":{"value":{"class":"Server::InternalServerError::MissingParameterInRequestContext","message":"Could not process the request"}}}}}}},"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: cloud.project.loadbalancer.ConfigurationCreation\nresult = client.post(\"/cloud/project/{serviceName}/loadbalancer/{loadBalancerId}/configuration\",\n\tbackends = None, # List of backends (type: array)\n\tcertificates = None, # List of certificate ID (type: array)\n\tfrontends = None, # List of frontends (type: array)\n\tnetworking = None, # networking configuration (type: cloud.project.loadbalancer.configuration.networking.Networking, nullable)\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: cloud.project.loadbalancer.ConfigurationCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/loadbalancer/{loadBalancerId}/configuration\", array(\n\tbackends => null, // List of backends (type: array)\n\tcertificates => null, // List of certificate ID (type: array)\n\tfrontends => null, // List of frontends (type: array)\n\tnetworking => null, // networking configuration (type: cloud.project.loadbalancer.configuration.networking.Networking, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:loadbalancer/configuration/create","required":true}]}},"/cloud/project/{serviceName}/loadbalancer/{loadBalancerId}/configuration/{version}":{"delete":{"operationId":"deleteLoadBalancerConfiguration","summary":"Delete a configuration","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"loadBalancerId","description":"Load balancer ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"version","description":"Version","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"successful operation"}},"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(\"/cloud/project/{serviceName}/loadbalancer/{loadBalancerId}/configuration/{version}\")\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(\"/cloud/project/{serviceName}/loadbalancer/{loadBalancerId}/configuration/{version}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:loadbalancer/configuration/delete","required":true}]},"get":{"operationId":"getLoadBalancerConfiguration","summary":"Get a configuration","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"loadBalancerId","description":"Load balancer ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"version","description":"Version","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.loadbalancer.Configuration"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::CouldNotAssignIPToLoadBalancer":{"value":{"class":"Client::BadRequest::CouldNotAssignIPToLoadBalancer","message":"Could not assign an ip address to the load balancer '{{.loadbalancer}}'"}},"Client::BadRequest::CouldNotAssignRegionToLoadBalancer":{"value":{"class":"Client::BadRequest::CouldNotAssignRegionToLoadBalancer","message":"Could not assign load balancer to the region '{{.location}}', the list of region available is located at '/cloud/project/{{.tenant}}/capabilities/loadbalancer/region'"}},"Client::BadRequest::CouldNotCreateLoadBalancerConfigurationVersionMismatch":{"value":{"class":"Client::BadRequest::CouldNotCreateLoadBalancerConfigurationVersionMismatch","message":"Could not create load balancer '{{.loadbalancer}}' configuration, version mismatch, expected '{{.expected}}', but got '{{.got}}'"}},"Client::BadRequest::CouldNotCurrentDeleteLoadBalancerConfiguration":{"value":{"class":"Client::BadRequest::CouldNotCurrentDeleteLoadBalancerConfiguration","message":"Could not delete the current load balancer '{{.loadbalancer}}' configuration '{{.version}}'"}}}}}},"403":{"description":"Error 403 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Forbidden::LoadBalancerIsFrozen":{"value":{"class":"Client::Forbidden::LoadBalancerIsFrozen","message":"For legal purposes the load balancer '{{.loadbalancer}}' has been frozen"}},"Client::Forbidden::NotWhiteListed":{"value":{"class":"Client::Forbidden::NotWhiteListed","message":"This project is not allowed to order load-balancer"}}}}}},"500":{"description":"Error 500 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Server::InternalServerError::CouldNotApplyLoadBalancerConfiguration":{"value":{"class":"Server::InternalServerError::CouldNotApplyLoadBalancerConfiguration","message":"Could not apply load balancer '{{.loadbalancer}}' configuration '{{.version}}'"}},"Server::InternalServerError::CouldNotCreateLoadBalancer":{"value":{"class":"Server::InternalServerError::CouldNotCreateLoadBalancer","message":"Could not create a load balancer"}},"Server::InternalServerError::CouldNotCreateLoadBalancerConfiguration":{"value":{"class":"Server::InternalServerError::CouldNotCreateLoadBalancerConfiguration","message":"Could not create load balancer '{{.loadbalancer}}'"}},"Server::InternalServerError::CouldNotDeleteLoadBalancer":{"value":{"class":"Server::InternalServerError::CouldNotDeleteLoadBalancer","message":"Could not delete the load balancer '{{.loadbalancer}}'"}},"Server::InternalServerError::CouldNotDeleteLoadBalancerConfiguration":{"value":{"class":"Server::InternalServerError::CouldNotDeleteLoadBalancerConfiguration","message":"Could not delete load balancer '{{.loadbalancer}}' configuration '{{.version}}'"}},"Server::InternalServerError::CouldNotFindLoadBalancer":{"value":{"class":"Server::InternalServerError::CouldNotFindLoadBalancer","message":"Could not find load balancer '{{.loadbalancer}}'"}},"Server::InternalServerError::CouldNotFindLoadBalancerConfigurations":{"value":{"class":"Server::InternalServerError::CouldNotFindLoadBalancerConfigurations","message":"Could not find load balancer '{{.loadbalancer}}' configurations"}},"Server::InternalServerError::CouldNotFindLoadBalancerIP":{"value":{"class":"Server::InternalServerError::CouldNotFindLoadBalancerIP","message":"Could not find the load balancer '{{.loadbalancer}}' ip's address"}},"Server::InternalServerError::CouldNotFindLoadBalancerIPAddresses":{"value":{"class":"Server::InternalServerError::CouldNotFindLoadBalancerIPAddresses","message":"Could not find load balancer '{{.loadbalancer}}' ip's address"}},"Server::InternalServerError::CouldNotFindLoadBalancerLastAppliedConfiguration":{"value":{"class":"Server::InternalServerError::CouldNotFindLoadBalancerLastAppliedConfiguration","message":"Could not find load balancers '{{.loadbalancer}}' last applied configuration"}},"Server::InternalServerError::CouldNotFindLoadBalancerLatestConfiguration":{"value":{"class":"Server::InternalServerError::CouldNotFindLoadBalancerLatestConfiguration","message":"Could not find load balancers '{{.loadbalancer}}' latest configuration"}},"Server::InternalServerError::CouldNotFindRegion":{"value":{"class":"Server::InternalServerError::CouldNotFindRegion","message":"Could not find region '{{.location}}'"}},"Server::InternalServerError::CouldNotListLoadBalancers":{"value":{"class":"Server::InternalServerError::CouldNotListLoadBalancers","message":"Could not list load balancers"}},"Server::InternalServerError::CouldNotListRegions":{"value":{"class":"Server::InternalServerError::CouldNotListRegions","message":"Could not list available regions"}},"Server::InternalServerError::CouldNotParseRequest":{"value":{"class":"Server::InternalServerError::CouldNotParseRequest","message":"Could not parse the request"}},"Server::InternalServerError::CouldNotUpdateLoadBalancer":{"value":{"class":"Server::InternalServerError::CouldNotUpdateLoadBalancer","message":"Could not update the load balancer '{{.loadbalancer}}'"}},"Server::InternalServerError::CouldNotUpdateLoadBalancerConfiguration":{"value":{"class":"Server::InternalServerError::CouldNotUpdateLoadBalancerConfiguration","message":"Could not update load balancer '{{.loadbalancer}}' configuration '{{.version}}'"}},"Server::InternalServerError::MarshalingError":{"value":{"class":"Server::InternalServerError::MarshalingError","message":"Could not serialize the response"}},"Server::InternalServerError::MissingParameterInRequestContext":{"value":{"class":"Server::InternalServerError::MissingParameterInRequestContext","message":"Could not process the request"}}}}}}},"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(\"/cloud/project/{serviceName}/loadbalancer/{loadBalancerId}/configuration/{version}\")\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(\"/cloud/project/{serviceName}/loadbalancer/{loadBalancerId}/configuration/{version}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:loadbalancer/configuration/get","required":true}],"x-response-identifier":"version"}},"/cloud/project/{serviceName}/loadbalancer/{loadBalancerId}/configuration/{version}/apply":{"post":{"operationId":"applyLoadBalancerConfiguration","summary":"Apply a configuration","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"loadBalancerId","description":"Load balancer ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"version","description":"Version","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.loadbalancer.Configuration"}}}},"400":{"description":"Error 400 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::BadRequest::CouldNotAssignIPToLoadBalancer":{"value":{"class":"Client::BadRequest::CouldNotAssignIPToLoadBalancer","message":"Could not assign an ip address to the load balancer '{{.loadbalancer}}'"}},"Client::BadRequest::CouldNotAssignRegionToLoadBalancer":{"value":{"class":"Client::BadRequest::CouldNotAssignRegionToLoadBalancer","message":"Could not assign load balancer to the region '{{.location}}', the list of region available is located at '/cloud/project/{{.tenant}}/capabilities/loadbalancer/region'"}},"Client::BadRequest::CouldNotCreateLoadBalancerConfigurationVersionMismatch":{"value":{"class":"Client::BadRequest::CouldNotCreateLoadBalancerConfigurationVersionMismatch","message":"Could not create load balancer '{{.loadbalancer}}' configuration, version mismatch, expected '{{.expected}}', but got '{{.got}}'"}},"Client::BadRequest::CouldNotCurrentDeleteLoadBalancerConfiguration":{"value":{"class":"Client::BadRequest::CouldNotCurrentDeleteLoadBalancerConfiguration","message":"Could not delete the current load balancer '{{.loadbalancer}}' configuration '{{.version}}'"}}}}}},"403":{"description":"Error 403 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Client::Forbidden::LoadBalancerIsFrozen":{"value":{"class":"Client::Forbidden::LoadBalancerIsFrozen","message":"For legal purposes the load balancer '{{.loadbalancer}}' has been frozen"}},"Client::Forbidden::NotWhiteListed":{"value":{"class":"Client::Forbidden::NotWhiteListed","message":"This project is not allowed to order load-balancer"}}}}}},"500":{"description":"Error 500 response","content":{"application/json":{"schema":{"type":"object","description":"Common error model","properties":{"class":{"type":"string","description":"Class of the error"},"message":{"type":"string","description":"Error message"}}},"examples":{"Server::InternalServerError::CouldNotApplyLoadBalancerConfiguration":{"value":{"class":"Server::InternalServerError::CouldNotApplyLoadBalancerConfiguration","message":"Could not apply load balancer '{{.loadbalancer}}' configuration '{{.version}}'"}},"Server::InternalServerError::CouldNotCreateLoadBalancer":{"value":{"class":"Server::InternalServerError::CouldNotCreateLoadBalancer","message":"Could not create a load balancer"}},"Server::InternalServerError::CouldNotCreateLoadBalancerConfiguration":{"value":{"class":"Server::InternalServerError::CouldNotCreateLoadBalancerConfiguration","message":"Could not create load balancer '{{.loadbalancer}}'"}},"Server::InternalServerError::CouldNotDeleteLoadBalancer":{"value":{"class":"Server::InternalServerError::CouldNotDeleteLoadBalancer","message":"Could not delete the load balancer '{{.loadbalancer}}'"}},"Server::InternalServerError::CouldNotDeleteLoadBalancerConfiguration":{"value":{"class":"Server::InternalServerError::CouldNotDeleteLoadBalancerConfiguration","message":"Could not delete load balancer '{{.loadbalancer}}' configuration '{{.version}}'"}},"Server::InternalServerError::CouldNotFindLoadBalancer":{"value":{"class":"Server::InternalServerError::CouldNotFindLoadBalancer","message":"Could not find load balancer '{{.loadbalancer}}'"}},"Server::InternalServerError::CouldNotFindLoadBalancerConfigurations":{"value":{"class":"Server::InternalServerError::CouldNotFindLoadBalancerConfigurations","message":"Could not find load balancer '{{.loadbalancer}}' configurations"}},"Server::InternalServerError::CouldNotFindLoadBalancerIP":{"value":{"class":"Server::InternalServerError::CouldNotFindLoadBalancerIP","message":"Could not find the load balancer '{{.loadbalancer}}' ip's address"}},"Server::InternalServerError::CouldNotFindLoadBalancerIPAddresses":{"value":{"class":"Server::InternalServerError::CouldNotFindLoadBalancerIPAddresses","message":"Could not find load balancer '{{.loadbalancer}}' ip's address"}},"Server::InternalServerError::CouldNotFindLoadBalancerLastAppliedConfiguration":{"value":{"class":"Server::InternalServerError::CouldNotFindLoadBalancerLastAppliedConfiguration","message":"Could not find load balancers '{{.loadbalancer}}' last applied configuration"}},"Server::InternalServerError::CouldNotFindLoadBalancerLatestConfiguration":{"value":{"class":"Server::InternalServerError::CouldNotFindLoadBalancerLatestConfiguration","message":"Could not find load balancers '{{.loadbalancer}}' latest configuration"}},"Server::InternalServerError::CouldNotFindRegion":{"value":{"class":"Server::InternalServerError::CouldNotFindRegion","message":"Could not find region '{{.location}}'"}},"Server::InternalServerError::CouldNotListLoadBalancers":{"value":{"class":"Server::InternalServerError::CouldNotListLoadBalancers","message":"Could not list load balancers"}},"Server::InternalServerError::CouldNotListRegions":{"value":{"class":"Server::InternalServerError::CouldNotListRegions","message":"Could not list available regions"}},"Server::InternalServerError::CouldNotParseRequest":{"value":{"class":"Server::InternalServerError::CouldNotParseRequest","message":"Could not parse the request"}},"Server::InternalServerError::CouldNotUpdateLoadBalancer":{"value":{"class":"Server::InternalServerError::CouldNotUpdateLoadBalancer","message":"Could not update the load balancer '{{.loadbalancer}}'"}},"Server::InternalServerError::CouldNotUpdateLoadBalancerConfiguration":{"value":{"class":"Server::InternalServerError::CouldNotUpdateLoadBalancerConfiguration","message":"Could not update load balancer '{{.loadbalancer}}' configuration '{{.version}}'"}},"Server::InternalServerError::MarshalingError":{"value":{"class":"Server::InternalServerError::MarshalingError","message":"Could not serialize the response"}},"Server::InternalServerError::MissingParameterInRequestContext":{"value":{"class":"Server::InternalServerError::MissingParameterInRequestContext","message":"Could not process the request"}}}}}}},"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.post(\"/cloud/project/{serviceName}/loadbalancer/{loadBalancerId}/configuration/{version}/apply\")\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->post(\"/cloud/project/{serviceName}/loadbalancer/{loadBalancerId}/configuration/{version}/apply\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:loadbalancer/configuration/apply","required":true}]}},"/cloud/project/{serviceName}/network/private":{"get":{"summary":"Get private networks","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.network.Network"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/network/private\")\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(\"/cloud/project/{serviceName}/network/private\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:network/private/get","required":true}],"x-response-identifier":"id","x-expanded-response":"CloudNetworkNetwork"},"post":{"summary":"Create a new network","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ProjectNetworkPrivateCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.network.Network"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.ProjectNetworkPrivateCreation\nresult = client.post(\"/cloud/project/{serviceName}/network/private\",\n\tname = None, # Network name (type: string)\n\tregions = None, # Region where to activate private network. No parameters means all region (type: array, nullable)\n\tvlanId = None, # Vland id, between 0 and 4095. 0 value means no vlan. (type: integer, nullable)\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: cloud.ProjectNetworkPrivateCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/network/private\", array(\n\tname => null, // Network name (type: string)\n\tregions => null, // Region where to activate private network. No parameters means all region (type: array, nullable)\n\tvlanId => null, // Vland id, between 0 and 4095. 0 value means no vlan. (type: integer, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:network/private/create","required":true}]}},"/cloud/project/{serviceName}/network/private/{networkId}":{"delete":{"summary":"Delete private network","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"networkId","description":"Network ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/network/private/{networkId}\")\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(\"/cloud/project/{serviceName}/network/private/{networkId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:network/private/delete","required":true}]},"get":{"summary":"Get private network","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"networkId","description":"Network ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.network.Network"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/network/private/{networkId}\")\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(\"/cloud/project/{serviceName}/network/private/{networkId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:network/private/get","required":true}],"x-response-identifier":"id"},"put":{"summary":"Rename private network","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"networkId","description":"Network ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ProjectNetworkPrivateUpdate"}}}},"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.ProjectNetworkPrivateUpdate\nresult = client.put(\"/cloud/project/{serviceName}/network/private/{networkId}\",\n\tname = None, # name (type: string)\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: cloud.ProjectNetworkPrivateUpdate\n$result = $ovh->put(\"/cloud/project/{serviceName}/network/private/{networkId}\", array(\n\tname => null, // name (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:network/private/edit","required":true}]}},"/cloud/project/{serviceName}/network/private/{networkId}/region":{"post":{"summary":"Activate private network in a new region","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"networkId","description":"Network ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ProjectNetworkPrivateRegionCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.network.Network"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.ProjectNetworkPrivateRegionCreation\nresult = client.post(\"/cloud/project/{serviceName}/network/private/{networkId}/region\",\n\tregion = None, # Region to active on your network (type: string)\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: cloud.ProjectNetworkPrivateRegionCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/network/private/{networkId}/region\", array(\n\tregion => null, // Region to active on your network (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:network/private/region/create","required":true}]}},"/cloud/project/{serviceName}/network/private/{networkId}/subnet":{"get":{"summary":"Get network subnets","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"networkId","description":"Network ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.network.Subnet"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/network/private/{networkId}/subnet\")\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(\"/cloud/project/{serviceName}/network/private/{networkId}/subnet\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:network/private/subnet/get","required":true}],"x-response-identifier":"id","x-expanded-response":"CloudNetworkSubnet"},"post":{"summary":"Create a new network subnet","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"networkId","description":"Network ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ProjectNetworkPrivateSubnetCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.network.Subnet"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.ProjectNetworkPrivateSubnetCreation\nresult = client.post(\"/cloud/project/{serviceName}/network/private/{networkId}/subnet\",\n\tdhcp = None, # Enable DHCP (type: boolean)\n\tend = None, # Last IP for this region (eg: 192.168.1.24) (type: ip)\n\tnetwork = None, # Global network with cidr (eg: 192.168.1.0/24) (type: ipBlock)\n\tnoGateway = None, # Set to true if you don't want to set a default gateway IP (type: boolean)\n\tregion = None, # Region where this subnet will be created (type: string)\n\tstart = None, # First IP for this region (eg: 192.168.1.12) (type: ip)\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: cloud.ProjectNetworkPrivateSubnetCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/network/private/{networkId}/subnet\", array(\n\tdhcp => null, // Enable DHCP (type: boolean)\n\tend => null, // Last IP for this region (eg: 192.168.1.24) (type: ip)\n\tnetwork => null, // Global network with cidr (eg: 192.168.1.0/24) (type: ipBlock)\n\tnoGateway => null, // Set to true if you don't want to set a default gateway IP (type: boolean)\n\tregion => null, // Region where this subnet will be created (type: string)\n\tstart => null, // First IP for this region (eg: 192.168.1.12) (type: ip)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:network/private/subnet/create","required":true}]}},"/cloud/project/{serviceName}/network/private/{networkId}/subnet/{subnetId}":{"delete":{"summary":"Delete a network subnet","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"networkId","description":"Network ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"subnetId","description":"Subnet ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/network/private/{networkId}/subnet/{subnetId}\")\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(\"/cloud/project/{serviceName}/network/private/{networkId}/subnet/{subnetId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:network/private/subnet/delete","required":true}]}},"/cloud/project/{serviceName}/network/public":{"get":{"summary":"Get public networks","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.network.Network"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/network/public\")\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(\"/cloud/project/{serviceName}/network/public\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:network/public/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/operation":{"get":{"summary":"List your operations","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"query","name":"instanceId","description":"Instance ID used to filter operations","schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.Operation"}}}}}},"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(\"/cloud/project/{serviceName}/operation\")\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(\"/cloud/project/{serviceName}/operation\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:operation/get","required":true}],"x-response-identifier":"id","x-expanded-response":"CloudOperation"}},"/cloud/project/{serviceName}/operation/{operationId}":{"get":{"summary":"Get information about one operation","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"operationId","description":"Operation ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.Operation"}}}}},"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(\"/cloud/project/{serviceName}/operation/{operationId}\")\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(\"/cloud/project/{serviceName}/operation/{operationId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:operation/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/quantum/capabilities/region":{"get":{"summary":"List Region","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.quantum.capabilities.Region"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/quantum/capabilities/region\")\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(\"/cloud/project/{serviceName}/quantum/capabilities/region\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:quantum/capabilities/region/get","required":true}],"x-response-identifier":"id","x-expanded-response":"CloudProjectQuantumCapabilitiesRegion"}},"/cloud/project/{serviceName}/quantum/capabilities/region/{region}":{"get":{"summary":"Get Region Information","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"region","description":"Region","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.quantum.capabilities.Region"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/quantum/capabilities/region/{region}\")\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(\"/cloud/project/{serviceName}/quantum/capabilities/region/{region}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:quantum/capabilities/region/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/quantum/capabilities/region/{region}/qpu":{"get":{"summary":"List QPU Flavors","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"query","name":"compatibleWithFramework","description":"Only list QPU flavors that are compatible with this framework","schema":{"type":"string"}},{"in":"path","name":"region","description":"Region","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.quantum.capabilities.QPUFlavor"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/quantum/capabilities/region/{region}/qpu\")\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(\"/cloud/project/{serviceName}/quantum/capabilities/region/{region}/qpu\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:quantum/capabilities/region/qpu/get","required":true}],"x-response-identifier":"id","x-expanded-response":"CloudProjectQuantumCapabilitiesQPUFlavor"}},"/cloud/project/{serviceName}/quantum/capabilities/region/{region}/qpu/{qpuFlavorId}":{"get":{"summary":"Get QPU Flavor Information","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"qpuFlavorId","description":"Qpu flavor ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"region","description":"Region","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.quantum.capabilities.QPUFlavor"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/quantum/capabilities/region/{region}/qpu/{qpuFlavorId}\")\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(\"/cloud/project/{serviceName}/quantum/capabilities/region/{region}/qpu/{qpuFlavorId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:quantum/capabilities/region/qpu/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/quota":{"get":{"operationId":"getQuotas","summary":"List quotas for a public cloud project","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"query","name":"categories","description":"allows to filter on categories","schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.quota.CategoryEnum"}}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.quota.Quotas"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/quota\")\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(\"/cloud/project/{serviceName}/quota\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:quota/get","required":true}]}},"/cloud/project/{serviceName}/region":{"get":{"summary":"List your regions","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region\")\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(\"/cloud/project/{serviceName}/region\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/get","required":true}],"x-expanded-response":"CloudRegion"},"post":{"summary":"Request access to a region","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ProjectRegionCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.Region"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.ProjectRegionCreation\nresult = client.post(\"/cloud/project/{serviceName}/region\",\n\tregion = None, # Region to add on your project (type: string)\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: cloud.ProjectRegionCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/region\", array(\n\tregion => null, // Region to add on your project (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/create","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}":{"get":{"summary":"Get information about your region","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.Region"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}\")\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(\"/cloud/project/{serviceName}/region/{regionName}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/get","required":true}],"x-response-identifier":"name"}},"/cloud/project/{serviceName}/region/{regionName}/coldArchive":{"get":{"operationId":"getColdArchiveContainersOnRegion","summary":"Get cold archive containers","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.ColdArchiveContainer"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/coldArchive\")\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(\"/cloud/project/{serviceName}/region/{regionName}/coldArchive\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/coldArchive/get","required":true}],"x-response-identifier":"name","x-expanded-response":"CloudColdArchiveContainer"},"post":{"operationId":"createColdArchiveContainerOnRegion","summary":"Create S3™* compatible cold archive container","description":"<sup>*</sup> S3 is a trademark filed by Amazon Technologies,Inc. OVHcloud's service is not sponsored by, endorsed by, or otherwise affiliated with Amazon Technologies,Inc.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.StorageContainerCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ColdArchiveContainer"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.StorageContainerCreation\nresult = client.post(\"/cloud/project/{serviceName}/region/{regionName}/coldArchive\",\n\tencryption = None, # Encryption configuration. (type: cloud.StorageEncryptionObject, nullable)\n\tlifecycle = None, # Lifecycle configuration (type: cloud.StorageLifecycleConfiguration, nullable)\n\tname = None, # Container name. (type: string)\n\tobjectLock = None, # Object lock configuration. (type: cloud.StorageLockConfiguration, nullable)\n\townerId = None, # Container owner user ID. (type: integer, nullable)\n\treplication = None, # Replication configuration. (type: cloud.StorageReplicationObjectIn, nullable)\n\ttags = None, # Container tags. (type: object, nullable)\n\tversioning = None, # Versioning configuration. (type: cloud.StorageVersioningObject, nullable)\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: cloud.StorageContainerCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/region/{regionName}/coldArchive\", array(\n\tencryption => null, // Encryption configuration. (type: cloud.StorageEncryptionObject, nullable)\n\tlifecycle => null, // Lifecycle configuration (type: cloud.StorageLifecycleConfiguration, nullable)\n\tname => null, // Container name. (type: string)\n\tobjectLock => null, // Object lock configuration. (type: cloud.StorageLockConfiguration, nullable)\n\townerId => null, // Container owner user ID. (type: integer, nullable)\n\treplication => null, // Replication configuration. (type: cloud.StorageReplicationObjectIn, nullable)\n\ttags => null, // Container tags. (type: object, nullable)\n\tversioning => null, // Versioning configuration. (type: cloud.StorageVersioningObject, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/coldArchive/create","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/coldArchive/{name}":{"delete":{"operationId":"deleteColdArchiveContainerOnRegion","summary":"Delete S3™* compatible cold archive container","description":"<sup>*</sup> S3 is a trademark filed by Amazon Technologies,Inc. OVHcloud's service is not sponsored by, endorsed by, or otherwise affiliated with Amazon Technologies,Inc.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"name","description":"Name","required":true,"schema":{"type":"string"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/coldArchive/{name}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/coldArchive/{name}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/coldArchive/delete","required":true}]},"get":{"operationId":"getColdArchiveContainerOnRegion","summary":"Get S3™* compatible cold archive container","description":"<sup>*</sup> S3 is a trademark filed by Amazon Technologies,Inc. OVHcloud's service is not sponsored by, endorsed by, or otherwise affiliated with Amazon Technologies,Inc.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"query","name":"limit","description":"Limits the number of objects in the result","schema":{"type":"integer"}},{"in":"query","name":"marker","description":"Constrains the list to objects whose names are greater than the marker","schema":{"type":"string"}},{"in":"path","name":"name","description":"Name","required":true,"schema":{"type":"string"}},{"in":"query","name":"prefix","description":"Filter objects by name prefix","schema":{"type":"string"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ColdArchiveContainer"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/coldArchive/{name}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/coldArchive/{name}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/coldArchive/get","required":true}],"x-response-identifier":"name"}},"/cloud/project/{serviceName}/region/{regionName}/coldArchive/{name}/archive":{"post":{"summary":"Start archiving of container","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"name","description":"Name","required":true,"schema":{"type":"string"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.storage.ArchiveColdArchiveContainer"}}}},"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.storage.ArchiveColdArchiveContainer\nresult = client.post(\"/cloud/project/{serviceName}/region/{regionName}/coldArchive/{name}/archive\",\n\tlockedUntilDays = None, # Archive is locked (cannot be deleted) for the given number of days (type: integer, nullable)\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: cloud.storage.ArchiveColdArchiveContainer\n$result = $ovh->post(\"/cloud/project/{serviceName}/region/{regionName}/coldArchive/{name}/archive\", array(\n\tlockedUntilDays => null, // Archive is locked (cannot be deleted) for the given number of days (type: integer, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/coldArchive/archive","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/coldArchive/{name}/destroy":{"post":{"summary":"Start cleaning tape date of archived container","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"name","description":"Name","required":true,"schema":{"type":"string"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/region/{regionName}/coldArchive/{name}/destroy\")\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->post(\"/cloud/project/{serviceName}/region/{regionName}/coldArchive/{name}/destroy\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/coldArchive/destroy","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/coldArchive/{name}/object/{objectKey}":{"delete":{"summary":"Delete S3™* compatible cold archive container object","description":"<sup>*</sup> S3 is a trademark filed by Amazon Technologies,Inc. OVHcloud's service is not sponsored by, endorsed by, or otherwise affiliated with Amazon Technologies,Inc.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"name","description":"Name","required":true,"schema":{"type":"string"}},{"in":"path","name":"objectKey","description":"Object key","required":true,"schema":{"type":"string"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/coldArchive/{name}/object/{objectKey}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/coldArchive/{name}/object/{objectKey}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/coldArchive/object/delete","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/coldArchive/{name}/policy/{userId}":{"post":{"summary":"Add S3™* compatible cold archive container policy","description":"<sup>*</sup> S3 is a trademark filed by Amazon Technologies,Inc. OVHcloud's service is not sponsored by, endorsed by, or otherwise affiliated with Amazon Technologies,Inc.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"name","description":"Name","required":true,"schema":{"type":"string"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"userId","description":"User ID","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.storage.AddContainerPolicy"}}}},"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.storage.AddContainerPolicy\nresult = client.post(\"/cloud/project/{serviceName}/region/{regionName}/coldArchive/{name}/policy/{userId}\",\n\tobjectKey = None, # Container object key (type: string)\n\troleName = None, # Policy role (type: cloud.storage.PolicyRoleEnum)\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: cloud.storage.AddContainerPolicy\n$result = $ovh->post(\"/cloud/project/{serviceName}/region/{regionName}/coldArchive/{name}/policy/{userId}\", array(\n\tobjectKey => null, // Container object key (type: string)\n\troleName => null, // Policy role (type: cloud.storage.PolicyRoleEnum)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/coldArchive/policy/create","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/coldArchive/{name}/presign":{"post":{"summary":"Generate presigned URLs to download or upload objects","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"name","description":"Name","required":true,"schema":{"type":"string"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.storage.PresignedURLInput"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.storage.PresignedURL"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.storage.PresignedURLInput\nresult = client.post(\"/cloud/project/{serviceName}/region/{regionName}/coldArchive/{name}/presign\",\n\texpire = None, # URL expiration in seconds. (type: integer)\n\tmethod = None, # Presigned URL method. (type: cloud.storage.PresignedURLMethodEnum)\n\tobject = None, # Object key. (type: string)\n\tstorageClass = None, # When using PUT method, specifies the created object storage class. (type: cloud.storage.StorageClassEnum)\n\tversionId = None, # Version ID of the object to download or delete when using GET or DELETE methods. (type: string)\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: cloud.storage.PresignedURLInput\n$result = $ovh->post(\"/cloud/project/{serviceName}/region/{regionName}/coldArchive/{name}/presign\", array(\n\texpire => null, // URL expiration in seconds. (type: integer)\n\tmethod => null, // Presigned URL method. (type: cloud.storage.PresignedURLMethodEnum)\n\tobject => null, // Object key. (type: string)\n\tstorageClass => null, // When using PUT method, specifies the created object storage class. (type: cloud.storage.StorageClassEnum)\n\tversionId => null, // Version ID of the object to download or delete when using GET or DELETE methods. (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/coldArchive/presign","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/coldArchive/{name}/restore":{"post":{"summary":"Start restoring of container","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"name","description":"Name","required":true,"schema":{"type":"string"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/region/{regionName}/coldArchive/{name}/restore\")\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->post(\"/cloud/project/{serviceName}/region/{regionName}/coldArchive/{name}/restore\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/coldArchive/restore","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/floatingip":{"get":{"operationId":"getFloatingIpsOnRegion","summary":"List floating ips on a specific region for a public cloud project","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.FloatingIp"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/floatingip\")\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(\"/cloud/project/{serviceName}/region/{regionName}/floatingip\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/floatingip/get","required":true}],"x-response-identifier":"id","x-expanded-response":"CloudProjectFloatingIp"}},"/cloud/project/{serviceName}/region/{regionName}/floatingip/{floatingIpId}":{"delete":{"operationId":"deleteFloatingIpOnRegion","summary":"Delete a floating ip on a specific region for a public cloud project","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"floatingIpId","description":"Floating ip ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/floatingip/{floatingIpId}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/floatingip/{floatingIpId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/floatingip/delete","required":true}]},"get":{"operationId":"getFloatingIpOnRegion","summary":"Get a floating ip on a specific region for a public cloud project","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"floatingIpId","description":"Floating ip ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.FloatingIp"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/floatingip/{floatingIpId}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/floatingip/{floatingIpId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/floatingip/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/region/{regionName}/floatingip/{floatingIpId}/detach":{"post":{"summary":"Detach your floating ip","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"floatingIpId","description":"Floating ip ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/region/{regionName}/floatingip/{floatingIpId}/detach\")\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->post(\"/cloud/project/{serviceName}/region/{regionName}/floatingip/{floatingIpId}/detach\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/floatingip/detach","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/gateway":{"get":{"summary":"List gateways","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"query","name":"limit","description":"Gateway listing limit (default and max is 50)","schema":{"type":"integer"}},{"in":"query","name":"marker","description":"Gateway to start listing from","schema":{"type":"string"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"query","name":"subnetId","description":"Attached interface's subnet id","schema":{"type":"string"}},{"in":"query","name":"withSubnets","description":"Include subnets to response","schema":{"type":"boolean"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.network.Gateway"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/gateway\")\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(\"/cloud/project/{serviceName}/region/{regionName}/gateway\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/gateway/get","required":true}],"x-response-identifier":"id","x-expanded-response":"CloudNetworkGateway"},"post":{"summary":"Create new Gateway and new Private Network with new Subnet","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.network.CreateGateway"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.Operation"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.network.CreateGateway\nresult = client.post(\"/cloud/project/{serviceName}/region/{regionName}/gateway\",\n\tmodel = None, # Model of the gateway (type: cloud.network.GatewayModelEnum)\n\tname = None, # Name of the gateway (type: string)\n\tnetwork = None, # Information to create the network for the gateway (type: cloud.network.CreateNetworkForGatewaySummary)\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: cloud.network.CreateGateway\n$result = $ovh->post(\"/cloud/project/{serviceName}/region/{regionName}/gateway\", array(\n\tmodel => null, // Model of the gateway (type: cloud.network.GatewayModelEnum)\n\tname => null, // Name of the gateway (type: string)\n\tnetwork => null, // Information to create the network for the gateway (type: cloud.network.CreateNetworkForGatewaySummary)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/gateway/create","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/gateway/{id}":{"delete":{"summary":"Delete gateway","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"id","description":"Id","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.Operation"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/gateway/{id}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/gateway/{id}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/gateway/delete","required":true}]},"get":{"summary":"Get gateway","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"id","description":"Id","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.network.Gateway"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/gateway/{id}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/gateway/{id}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/gateway/get","required":true}],"x-response-identifier":"id"},"put":{"summary":"Update a gateway","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"id","description":"Id","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.network.UpdateGateway"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.network.Gateway"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.network.UpdateGateway\nresult = client.put(\"/cloud/project/{serviceName}/region/{regionName}/gateway/{id}\",\n\tmodel = None, # Model of the gateway (type: cloud.network.GatewayModelEnum)\n\tname = None, # Name of the gateway (type: string)\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: cloud.network.UpdateGateway\n$result = $ovh->put(\"/cloud/project/{serviceName}/region/{regionName}/gateway/{id}\", array(\n\tmodel => null, // Model of the gateway (type: cloud.network.GatewayModelEnum)\n\tname => null, // Name of the gateway (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/gateway/edit","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/gateway/{id}/expose":{"post":{"summary":"Expose gateway to public network by adding a public port on it.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"id","description":"Id","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.network.Gateway"}}}}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/region/{regionName}/gateway/{id}/expose\")\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->post(\"/cloud/project/{serviceName}/region/{regionName}/gateway/{id}/expose\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/gateway/expose","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/gateway/{id}/interface":{"get":{"summary":"List interfaces","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"id","description":"Id","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.network.gateway.Interface"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/gateway/{id}/interface\")\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(\"/cloud/project/{serviceName}/region/{regionName}/gateway/{id}/interface\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/gateway/interface/get","required":true}],"x-response-identifier":"id","x-expanded-response":"CloudNetworkGatewayInterface"},"post":{"summary":"Create gateway interface","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"id","description":"Id","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.network.gateway.CreateInterface"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.network.gateway.Interface"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.network.gateway.CreateInterface\nresult = client.post(\"/cloud/project/{serviceName}/region/{regionName}/gateway/{id}/interface\",\n\tsubnetId = None, # Subnet id to add (type: string)\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: cloud.network.gateway.CreateInterface\n$result = $ovh->post(\"/cloud/project/{serviceName}/region/{regionName}/gateway/{id}/interface\", array(\n\tsubnetId => null, // Subnet id to add (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/gateway/interface/create","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/gateway/{id}/interface/{interfaceId}":{"delete":{"summary":"Delete gateway interface","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"id","description":"Id","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"interfaceId","description":"Interface ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/gateway/{id}/interface/{interfaceId}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/gateway/{id}/interface/{interfaceId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/gateway/interface/delete","required":true}]},"get":{"summary":"Get interface","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"id","description":"Id","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"interfaceId","description":"Interface ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.network.gateway.Interface"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/gateway/{id}/interface/{interfaceId}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/gateway/{id}/interface/{interfaceId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/gateway/interface/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/region/{regionName}/instance":{"get":{"operationId":"getInstancesOnRegion","summary":"List all instances of a specific region for a public cloud project","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.instance.InstanceList"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/instance\")\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(\"/cloud/project/{serviceName}/region/{regionName}/instance\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/instance/get","required":true}],"x-response-identifier":"id","x-expanded-response":"CloudInstanceInstanceList"},"post":{"operationId":"createInstanceOnRegion","summary":"Create an instance with its associated components (ssh key, private network, floating ip)","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.instance.CreateInput"},"examples":{"Example 1 - Create your b3-8 with Ubuntu 25.04 on GRA11":{"value":{"billingPeriod":"hourly","bootFrom":{"imageId":"5cb8ea68-e606-471e-a7d5-820be83467f6"},"flavor":{"id":"e81b46f8-1159-4e14-b0ba-cad655e6540b"},"name":"my-b3-8","network":{"public":true},"sshKey":{"name":"MySSHKey"}}},"Example 2 - Create your b3-8 with Ubuntu 25.04 on GRA11 with an additional volume":{"value":{"billingPeriod":"hourly","bootFrom":{"imageId":"5cb8ea68-e606-471e-a7d5-820be83467f6"},"flavor":{"id":"e81b46f8-1159-4e14-b0ba-cad655e6540b"},"name":"my-b3-8","network":{"public":true},"sshKey":{"name":"MySSHKey"},"volume":{"name":"my-volume","size":100,"type":"high-speed-gen2"}}},"Example 3 - Create your b3-8 with Ubuntu 25.04 on GRA11 with advanced network configuration":{"value":{"billingPeriod":"hourly","bootFrom":{"imageId":"5cb8ea68-e606-471e-a7d5-820be83467f6"},"flavor":{"id":"e81b46f8-1159-4e14-b0ba-cad655e6540b"},"name":"my-b3-8","network":{"private":{"floatingIpCreate":{"description":"my new floating ip"},"gatewayCreate":{"model":"s","name":"myNewGateway"},"networkCreate":{"name":"myNewNetwork","subnet":{"cidr":"10.0.0.0/8","enableDhcp":true,"ipVersion":4},"vlanId":1234}},"public":false},"sshKey":{"name":"MySSHKey"}}}}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.Operation"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.instance.CreateInput\nresult = client.post(\"/cloud/project/{serviceName}/region/{regionName}/instance\",\n\tautobackup = None, # Create an autobackup workflow after instance start up (type: cloud.Instance.AutoBackup, nullable)\n\tavailabilityZone = None, # The availability zone where the instance will be created (type: string, nullable)\n\tbillingPeriod = None, # Billing period (type: cloud.instance.CreateInput.BillingPeriodEnum)\n\tbootFrom = None, # Boot the instance from an image or a volume (type: cloud.instance.CreateInput.BootFrom)\n\tbulk = None, # Create multiple instances (type: integer)\n\tflavor = None, # Flavor information (type: cloud.instance.CreateInput.Flavor)\n\tgroup = None, # Start instance in group (type: cloud.instance.CreateInput.Group, nullable)\n\tname = None, # Instance name (type: string)\n\tnetwork = None, # Networks information (type: cloud.instance.CreateInput.Network)\n\tsshKey = None, # Existing SSH Keypair (type: cloud.instance.CreateInput.SshKey, nullable)\n\tsshKeyCreate = None, # Information to create a new SSH Keypair (type: cloud.instance.CreateInput.SshKeyCreate, nullable)\n\tuserData = None, # Configuration information or scripts to use upon launch (type: string, nullable)\n\tvolume = None, # Volume to create and/or attach to the instance (type: cloud.instance.CreateInput.Volume, nullable)\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: cloud.instance.CreateInput\n$result = $ovh->post(\"/cloud/project/{serviceName}/region/{regionName}/instance\", array(\n\tautobackup => null, // Create an autobackup workflow after instance start up (type: cloud.Instance.AutoBackup, nullable)\n\tavailabilityZone => null, // The availability zone where the instance will be created (type: string, nullable)\n\tbillingPeriod => null, // Billing period (type: cloud.instance.CreateInput.BillingPeriodEnum)\n\tbootFrom => null, // Boot the instance from an image or a volume (type: cloud.instance.CreateInput.BootFrom)\n\tbulk => null, // Create multiple instances (type: integer)\n\tflavor => null, // Flavor information (type: cloud.instance.CreateInput.Flavor)\n\tgroup => null, // Start instance in group (type: cloud.instance.CreateInput.Group, nullable)\n\tname => null, // Instance name (type: string)\n\tnetwork => null, // Networks information (type: cloud.instance.CreateInput.Network)\n\tsshKey => null, // Existing SSH Keypair (type: cloud.instance.CreateInput.SshKey, nullable)\n\tsshKeyCreate => null, // Information to create a new SSH Keypair (type: cloud.instance.CreateInput.SshKeyCreate, nullable)\n\tuserData => null, // Configuration information or scripts to use upon launch (type: string, nullable)\n\tvolume => null, // Volume to create and/or attach to the instance (type: cloud.instance.CreateInput.Volume, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/instance/create","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/instance/{instanceId}":{"get":{"operationId":"getInstanceOnRegion","summary":"Get a specific instance on a specific region for a public cloud project","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"query","name":"deleted","description":"Return instance even if it is deleted","schema":{"type":"boolean"}},{"in":"path","name":"instanceId","description":"Instance ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"query","name":"withBackups","description":"Add backup information in response","schema":{"type":"boolean"}},{"in":"query","name":"withImage","description":"Add image information in response","schema":{"type":"boolean"}},{"in":"query","name":"withNetworks","description":"Add network information in response","schema":{"type":"boolean"}},{"in":"query","name":"withVolumes","description":"Add volume information in response","schema":{"type":"boolean"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.instance.InstanceList"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/instance/{instanceId}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/instance/{instanceId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/instance/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/region/{regionName}/instance/{instanceId}/abortSnapshot":{"post":{"operationId":"abortSnapshotOnRegion","summary":"Abort an instance snapshot creation for a specific instance on a specific region for a public cloud project","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"instanceId","description":"Instance ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.Operation"}}}}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/region/{regionName}/instance/{instanceId}/abortSnapshot\")\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->post(\"/cloud/project/{serviceName}/region/{regionName}/instance/{instanceId}/abortSnapshot\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/instance/abortSnapshot","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/instance/{instanceId}/associateFloatingIp":{"post":{"operationId":"associateFloatingIpOnInstanceOnRegion","summary":"Associate an existing floating IP to an instance on a specific region for a public cloud project","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"instanceId","description":"Instance ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.instance.AssociateFloatingIp"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.Operation"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.instance.AssociateFloatingIp\nresult = client.post(\"/cloud/project/{serviceName}/region/{regionName}/instance/{instanceId}/associateFloatingIp\",\n\tfloatingIpId = None, # Floating IP ID (type: string)\n\tgateway = None, # Parameters to create a gateway if required (type: cloud.network.CreateGatewaySummary, nullable)\n\tip = None, # Private instance IP to associate the floating IP with (type: ip)\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: cloud.instance.AssociateFloatingIp\n$result = $ovh->post(\"/cloud/project/{serviceName}/region/{regionName}/instance/{instanceId}/associateFloatingIp\", array(\n\tfloatingIpId => null, // Floating IP ID (type: string)\n\tgateway => null, // Parameters to create a gateway if required (type: cloud.network.CreateGatewaySummary, nullable)\n\tip => null, // Private instance IP to associate the floating IP with (type: ip)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/instance/associateFloatingIp","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/instance/{instanceId}/autobackup":{"post":{"summary":"Create an automatic instance backup workflow","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"instanceId","description":"Instance ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.Instance.AutoBackup"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.Operation"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.Instance.AutoBackup\nresult = client.post(\"/cloud/project/{serviceName}/region/{regionName}/instance/{instanceId}/autobackup\",\n\tcron = None, # Unix Cron pattern (eg: '0 0 * * *') (type: string)\n\tdistantImageName = None, # Name of the distant image (type: string, nullable)\n\tdistantRegionName = None, # Name of the distant region (type: string, nullable)\n\timageName = None, # Name of the image (type: string)\n\tname = None, # Name of your workflow (type: string)\n\trotation = None, # Number of backup to keep (type: integer)\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: cloud.Instance.AutoBackup\n$result = $ovh->post(\"/cloud/project/{serviceName}/region/{regionName}/instance/{instanceId}/autobackup\", array(\n\tcron => null, // Unix Cron pattern (eg: '0 0 * * *') (type: string)\n\tdistantImageName => null, // Name of the distant image (type: string, nullable)\n\tdistantRegionName => null, // Name of the distant region (type: string, nullable)\n\timageName => null, // Name of the image (type: string)\n\tname => null, // Name of your workflow (type: string)\n\trotation => null, // Number of backup to keep (type: integer)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/instance/autobackup/create","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/instance/{instanceId}/floatingIp":{"post":{"operationId":"createFloatingIpOnInstanceOnRegion","summary":"Create a floating IP and attach it to an instance on a specific region for a public cloud project","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"instanceId","description":"Instance ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.instance.CreateFloatingIp"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.Operation"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.instance.CreateFloatingIp\nresult = client.post(\"/cloud/project/{serviceName}/region/{regionName}/instance/{instanceId}/floatingIp\",\n\tgateway = None, # Parameters to create a gateway if required (type: cloud.network.CreateGatewaySummary, nullable)\n\tip = None, # Private instance IP to associate the floating IP with (type: ip)\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: cloud.instance.CreateFloatingIp\n$result = $ovh->post(\"/cloud/project/{serviceName}/region/{regionName}/instance/{instanceId}/floatingIp\", array(\n\tgateway => null, // Parameters to create a gateway if required (type: cloud.network.CreateGatewaySummary, nullable)\n\tip => null, // Private instance IP to associate the floating IP with (type: ip)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/instance/floatingIp/create","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/instance/{instanceId}/reinstall":{"post":{"operationId":"reinstallOnRegion","summary":"Reinstall an instance with a new image","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"instanceId","description":"Instance ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.instance.Reinstall"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.Operation"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.instance.Reinstall\nresult = client.post(\"/cloud/project/{serviceName}/region/{regionName}/instance/{instanceId}/reinstall\",\n\timageId = None, # Image ID (type: string)\n\timageRegionName = None, # Region of the image to reinstall (type: string)\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: cloud.instance.Reinstall\n$result = $ovh->post(\"/cloud/project/{serviceName}/region/{regionName}/instance/{instanceId}/reinstall\", array(\n\timageId => null, // Image ID (type: string)\n\timageRegionName => null, // Region of the image to reinstall (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/instance/reinstall","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/instance/{instanceId}/snapshot":{"post":{"operationId":"snapshotOnRegion","summary":"Create an instance snapshot for a specific instance on a specific region for a public cloud project","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"instanceId","description":"Instance ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.instance.CreateSnapshot"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.instance.Snapshot"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.instance.CreateSnapshot\nresult = client.post(\"/cloud/project/{serviceName}/region/{regionName}/instance/{instanceId}/snapshot\",\n\tdistantRegionName = None, # Name of the remote region where the distant snapshot will be created (optional) (type: string, nullable)\n\tdistantSnapshotName = None, # Name for the snapshot that will be created in the distant region (optional) (type: string, nullable)\n\tsnapshotName = None, # Name for the snapshot that will be created in the current region (type: string)\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: cloud.instance.CreateSnapshot\n$result = $ovh->post(\"/cloud/project/{serviceName}/region/{regionName}/instance/{instanceId}/snapshot\", array(\n\tdistantRegionName => null, // Name of the remote region where the distant snapshot will be created (optional) (type: string, nullable)\n\tdistantSnapshotName => null, // Name for the snapshot that will be created in the distant region (optional) (type: string, nullable)\n\tsnapshotName => null, // Name for the snapshot that will be created in the current region (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/instance/snapshot","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/keymanager/certificate":{"get":{"summary":"List certificates","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.keymanager.Certificate"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/keymanager/certificate\")\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(\"/cloud/project/{serviceName}/region/{regionName}/keymanager/certificate\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/keymanager/certificate/get","required":true}],"x-response-identifier":"id","x-expanded-response":"CloudKeymanagerCertificate"},"post":{"summary":"Create a new certificate","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.keymanager.CertificateCreate"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.keymanager.Certificate"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.keymanager.CertificateCreate\nresult = client.post(\"/cloud/project/{serviceName}/region/{regionName}/keymanager/certificate\",\n\tcertificate = None, # Content of the certificate (type: string)\n\tintermediates = None, # Content of the intermediates certificates if any (type: string)\n\tname = None, # Name of the certificate (type: string)\n\tprivateKey = None, # Private key (type: string)\n\tprivateKeyPassphrase = None, # Private key passphrase if any (type: string)\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: cloud.keymanager.CertificateCreate\n$result = $ovh->post(\"/cloud/project/{serviceName}/region/{regionName}/keymanager/certificate\", array(\n\tcertificate => null, // Content of the certificate (type: string)\n\tintermediates => null, // Content of the intermediates certificates if any (type: string)\n\tname => null, // Name of the certificate (type: string)\n\tprivateKey => null, // Private key (type: string)\n\tprivateKeyPassphrase => null, // Private key passphrase if any (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/keymanager/certificate/create","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/keymanager/certificate/{certificateId}":{"delete":{"summary":"Delete a certificate","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"certificateId","description":"Certificate ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/keymanager/certificate/{certificateId}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/keymanager/certificate/{certificateId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/keymanager/certificate/delete","required":true}]},"get":{"summary":"Get details about a certificate","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"certificateId","description":"Certificate ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.keymanager.Certificate"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/keymanager/certificate/{certificateId}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/keymanager/certificate/{certificateId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/keymanager/certificate/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/region/{regionName}/keymanager/secret":{"get":{"summary":"List secrets","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.keymanager.Secret"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/keymanager/secret\")\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(\"/cloud/project/{serviceName}/region/{regionName}/keymanager/secret\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/keymanager/secret/get","required":true}],"x-response-identifier":"id","x-expanded-response":"CloudKeymanagerSecret"}},"/cloud/project/{serviceName}/region/{regionName}/keymanager/secret/{secretId}":{"delete":{"summary":"Delete a secret","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"secretId","description":"Secret ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/keymanager/secret/{secretId}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/keymanager/secret/{secretId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/keymanager/secret/delete","required":true}]},"get":{"summary":"Get details about a secret","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"secretId","description":"Secret ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.keymanager.Secret"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/keymanager/secret/{secretId}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/keymanager/secret/{secretId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/keymanager/secret/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/flavor":{"get":{"summary":"List flavors","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.loadbalancing.Flavor"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/flavor\")\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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/flavor\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/loadbalancing/flavor/get","required":true}],"x-response-identifier":"id","x-expanded-response":"CloudLoadbalancingFlavor"}},"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/flavor/{flavorId}":{"get":{"summary":"Get details about a load balancing flavor","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"flavorId","description":"Flavor ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.loadbalancing.Flavor"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/flavor/{flavorId}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/flavor/{flavorId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/loadbalancing/flavor/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/healthMonitor":{"get":{"summary":"List health monitors","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"query","name":"poolId","description":"Linked pool id","schema":{"type":"string"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.loadbalancing.HealthMonitor"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/healthMonitor\")\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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/healthMonitor\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/loadbalancing/healthMonitor/get","required":true}],"x-response-identifier":"id","x-expanded-response":"CloudLoadbalancingHealthMonitor"},"post":{"summary":"Create health monitor","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.loadbalancing.HealthMonitor"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.loadbalancing.HealthMonitor"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.loadbalancing.HealthMonitor\nresult = client.post(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/healthMonitor\",\n\tdelay = None, # Duration between sending probes to members, in seconds (type: integer)\n\thttpConfiguration = None, # Monitor HTTP configuration (type: cloud.loadbalancing.HealthMonitorHTTPConfiguration, nullable)\n\tmaxRetries = None, # Number of successful checks before changing the operating status of the member to ONLINE (type: integer)\n\tmaxRetriesDown = None, # Number of allowed check failures before changing the operating status of the member to ERROR (type: integer, nullable)\n\tmonitorType = None, # Type of the monitor (type: cloud.loadbalancing.LoadBalancerHealthMonitorTypeEnum)\n\tname = None, # The name of the resource (type: string)\n\tpoolId = None, # The ID of the pool (type: string)\n\ttimeout = None, # Maximum time, in seconds, that a monitor waits to connect before it times out. This value must be less than the delay value (type: integer)\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: cloud.loadbalancing.HealthMonitor\n$result = $ovh->post(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/healthMonitor\", array(\n\tdelay => null, // Duration between sending probes to members, in seconds (type: integer)\n\thttpConfiguration => null, // Monitor HTTP configuration (type: cloud.loadbalancing.HealthMonitorHTTPConfiguration, nullable)\n\tmaxRetries => null, // Number of successful checks before changing the operating status of the member to ONLINE (type: integer)\n\tmaxRetriesDown => null, // Number of allowed check failures before changing the operating status of the member to ERROR (type: integer, nullable)\n\tmonitorType => null, // Type of the monitor (type: cloud.loadbalancing.LoadBalancerHealthMonitorTypeEnum)\n\tname => null, // The name of the resource (type: string)\n\tpoolId => null, // The ID of the pool (type: string)\n\ttimeout => null, // Maximum time, in seconds, that a monitor waits to connect before it times out. This value must be less than the delay value (type: integer)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/loadbalancing/healthMonitor/create","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/healthMonitor/{healthMonitorId}":{"delete":{"summary":"Delete health monitor","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"healthMonitorId","description":"Health monitor ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/healthMonitor/{healthMonitorId}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/healthMonitor/{healthMonitorId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/loadbalancing/healthMonitor/delete","required":true}]},"get":{"summary":"Get details about a loadbalancer health monitor","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"healthMonitorId","description":"Health monitor ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.loadbalancing.HealthMonitor"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/healthMonitor/{healthMonitorId}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/healthMonitor/{healthMonitorId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/loadbalancing/healthMonitor/get","required":true}],"x-response-identifier":"id"},"put":{"summary":"Update a health monitor","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"healthMonitorId","description":"Health monitor ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.loadbalancing.UpdateHealthMonitor"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.loadbalancing.HealthMonitor"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.loadbalancing.UpdateHealthMonitor\nresult = client.put(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/healthMonitor/{healthMonitorId}\",\n\tdelay = None, # Duration between sending probes to members, in seconds (type: integer)\n\thttpConfiguration = None, # Monitor HTTP configuration (type: cloud.loadbalancing.HealthMonitorHTTPConfiguration)\n\tmaxRetries = None, # Number of successful checks before changing the operating status of the member to ONLINE (type: integer)\n\tmaxRetriesDown = None, # Number of allowed check failures before changing the operating status of the member to ERROR (type: integer)\n\tname = None, # The name of the resource (type: string)\n\ttimeout = None, # Maximum time, in seconds, that a monitor waits to connect before it times out. This value must be less than the delay value (type: integer)\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: cloud.loadbalancing.UpdateHealthMonitor\n$result = $ovh->put(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/healthMonitor/{healthMonitorId}\", array(\n\tdelay => null, // Duration between sending probes to members, in seconds (type: integer)\n\thttpConfiguration => null, // Monitor HTTP configuration (type: cloud.loadbalancing.HealthMonitorHTTPConfiguration)\n\tmaxRetries => null, // Number of successful checks before changing the operating status of the member to ONLINE (type: integer)\n\tmaxRetriesDown => null, // Number of allowed check failures before changing the operating status of the member to ERROR (type: integer)\n\tname => null, // The name of the resource (type: string)\n\ttimeout => null, // Maximum time, in seconds, that a monitor waits to connect before it times out. This value must be less than the delay value (type: integer)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/loadbalancing/healthMonitor/edit","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/l7Policy":{"get":{"security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"query","name":"listenerId","description":"Linked listener id","schema":{"type":"string"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.loadbalancing.L7Policy"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/l7Policy\")\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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/l7Policy\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/loadbalancing/l7Policy/get","required":true}],"x-response-identifier":"id","x-expanded-response":"CloudLoadbalancingL7Policy"},"post":{"security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.loadbalancing.L7Policy"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.loadbalancing.L7Policy"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.loadbalancing.L7Policy\nresult = client.post(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/l7Policy\",\n\taction = None, # The L7 policy action (type: cloud.loadbalancing.L7PolicyActionEnum)\n\tdescription = None, # A human-readable description for the resource (type: string)\n\tlistenerId = None, # The ID of the listener. (type: string)\n\tname = None, # Human-readable name of the resource (type: string)\n\tposition = None, # The position of this policy on the listener. Positions start at 1 (type: integer)\n\tredirectHttpCode = None, # Requests matching this policy will be redirected to the specified URL or Prefix URL with the HTTP response code. Valid if action is \"redirect_to\" or \"redirect_prefix\" (type: cloud.loadbalancing.L7PolicyRedirectHTTPCodeEnum, nullable)\n\tredirectPoolId = None, # Requests matching this policy will be redirected to the pool with this ID. Only valid if action is \"redirect_to_pool\" (type: string, nullable)\n\tredirectPrefix = None, # Requests matching this policy will be redirected to this Prefix URL. Only valid if action is \"redirect_prefix\" (type: string, nullable)\n\tredirectUrl = None, # Requests matching this policy will be redirected to this URL. Only valid if action is \"redirect_to_url\" (type: string, nullable)\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: cloud.loadbalancing.L7Policy\n$result = $ovh->post(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/l7Policy\", array(\n\taction => null, // The L7 policy action (type: cloud.loadbalancing.L7PolicyActionEnum)\n\tdescription => null, // A human-readable description for the resource (type: string)\n\tlistenerId => null, // The ID of the listener. (type: string)\n\tname => null, // Human-readable name of the resource (type: string)\n\tposition => null, // The position of this policy on the listener. Positions start at 1 (type: integer)\n\tredirectHttpCode => null, // Requests matching this policy will be redirected to the specified URL or Prefix URL with the HTTP response code. Valid if action is \"redirect_to\" or \"redirect_prefix\" (type: cloud.loadbalancing.L7PolicyRedirectHTTPCodeEnum, nullable)\n\tredirectPoolId => null, // Requests matching this policy will be redirected to the pool with this ID. Only valid if action is \"redirect_to_pool\" (type: string, nullable)\n\tredirectPrefix => null, // Requests matching this policy will be redirected to this Prefix URL. Only valid if action is \"redirect_prefix\" (type: string, nullable)\n\tredirectUrl => null, // Requests matching this policy will be redirected to this URL. Only valid if action is \"redirect_to_url\" (type: string, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/loadbalancing/l7Policy/create","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/l7Policy/{l7PolicyId}":{"delete":{"security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"l7PolicyId","description":"L7 policy ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/l7Policy/{l7PolicyId}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/l7Policy/{l7PolicyId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/loadbalancing/l7Policy/delete","required":true}]},"get":{"security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"l7PolicyId","description":"L7 policy ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.loadbalancing.L7Policy"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/l7Policy/{l7PolicyId}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/l7Policy/{l7PolicyId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/loadbalancing/l7Policy/get","required":true}],"x-response-identifier":"id"},"put":{"security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"l7PolicyId","description":"L7 policy ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.loadbalancing.L7PolicyUpdate"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.loadbalancing.L7Policy"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.loadbalancing.L7PolicyUpdate\nresult = client.put(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/l7Policy/{l7PolicyId}\",\n\taction = None, # The L7 policy action (type: cloud.loadbalancing.L7PolicyActionEnum)\n\tdescription = None, # A human-readable description for the resource (type: string)\n\tlistenerId = None, # The ID of the listener. (type: string)\n\tname = None, # Human-readable name of the resource (type: string)\n\tposition = None, # The position of this policy on the listener. Positions start at 1 (type: integer)\n\tredirectHttpCode = None, # Requests matching this policy will be redirected to the specified URL or Prefix URL with the HTTP response code. Valid if action is \"redirect_to\" or \"redirect_prefix\" (type: integer, nullable)\n\tredirectPoolId = None, # Requests matching this policy will be redirected to the pool with this ID. Only valid if action is \"redirect_to_pool\" (type: string, nullable)\n\tredirectPrefix = None, # Requests matching this policy will be redirected to this Prefix URL. Only valid if action is \"redirect_prefix\" (type: string, nullable)\n\tredirectUrl = None, # Requests matching this policy will be redirected to this URL. Only valid if action is \"redirect_to_url\" (type: string, nullable)\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: cloud.loadbalancing.L7PolicyUpdate\n$result = $ovh->put(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/l7Policy/{l7PolicyId}\", array(\n\taction => null, // The L7 policy action (type: cloud.loadbalancing.L7PolicyActionEnum)\n\tdescription => null, // A human-readable description for the resource (type: string)\n\tlistenerId => null, // The ID of the listener. (type: string)\n\tname => null, // Human-readable name of the resource (type: string)\n\tposition => null, // The position of this policy on the listener. Positions start at 1 (type: integer)\n\tredirectHttpCode => null, // Requests matching this policy will be redirected to the specified URL or Prefix URL with the HTTP response code. Valid if action is \"redirect_to\" or \"redirect_prefix\" (type: integer, nullable)\n\tredirectPoolId => null, // Requests matching this policy will be redirected to the pool with this ID. Only valid if action is \"redirect_to_pool\" (type: string, nullable)\n\tredirectPrefix => null, // Requests matching this policy will be redirected to this Prefix URL. Only valid if action is \"redirect_prefix\" (type: string, nullable)\n\tredirectUrl => null, // Requests matching this policy will be redirected to this URL. Only valid if action is \"redirect_to_url\" (type: string, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/loadbalancing/l7Policy/edit","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/l7Policy/{l7PolicyId}/l7Rule":{"get":{"security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"l7PolicyId","description":"L7 policy ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.loadbalancing.L7Rule"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/l7Policy/{l7PolicyId}/l7Rule\")\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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/l7Policy/{l7PolicyId}/l7Rule\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/loadbalancing/l7Policy/l7Rule/get","required":true}],"x-response-identifier":"id","x-expanded-response":"CloudLoadbalancingL7Rule"},"post":{"security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"l7PolicyId","description":"L7 policy ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.loadbalancing.L7Rule"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.loadbalancing.L7Rule"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.loadbalancing.L7Rule\nresult = client.post(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/l7Policy/{l7PolicyId}/l7Rule\",\n\tcompareType = None, # The comparison type for the L7 rule (type: cloud.loadbalancing.L7RuleCompareTypeEnum)\n\tinvert = None, # When true the logic of the rule is inverted. For example, with invert set to true, equal to would become not equal to (type: boolean)\n\tkey = None, # The key to use for the comparison. For example, the name of the cookie to evaluate (type: string)\n\truleType = None, # The L7 rule type (type: cloud.loadbalancing.L7RuleTypeEnum)\n\tvalue = None, # The value to use for the comparison. For example, the file type to compare (type: string)\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: cloud.loadbalancing.L7Rule\n$result = $ovh->post(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/l7Policy/{l7PolicyId}/l7Rule\", array(\n\tcompareType => null, // The comparison type for the L7 rule (type: cloud.loadbalancing.L7RuleCompareTypeEnum)\n\tinvert => null, // When true the logic of the rule is inverted. For example, with invert set to true, equal to would become not equal to (type: boolean)\n\tkey => null, // The key to use for the comparison. For example, the name of the cookie to evaluate (type: string)\n\truleType => null, // The L7 rule type (type: cloud.loadbalancing.L7RuleTypeEnum)\n\tvalue => null, // The value to use for the comparison. For example, the file type to compare (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/loadbalancing/l7Policy/l7Rule/create","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/l7Policy/{l7PolicyId}/l7Rule/{l7RuleId}":{"delete":{"security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"l7PolicyId","description":"L7 policy ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"l7RuleId","description":"L7 rule ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/l7Policy/{l7PolicyId}/l7Rule/{l7RuleId}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/l7Policy/{l7PolicyId}/l7Rule/{l7RuleId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/loadbalancing/l7Policy/l7Rule/delete","required":true}]},"get":{"security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"l7PolicyId","description":"L7 policy ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"l7RuleId","description":"L7 rule ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.loadbalancing.L7Rule"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/l7Policy/{l7PolicyId}/l7Rule/{l7RuleId}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/l7Policy/{l7PolicyId}/l7Rule/{l7RuleId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/loadbalancing/l7Policy/l7Rule/get","required":true}],"x-response-identifier":"id"},"put":{"security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"l7PolicyId","description":"L7 policy ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"l7RuleId","description":"L7 rule ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.loadbalancing.L7Rule"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.loadbalancing.L7Rule"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.loadbalancing.L7Rule\nresult = client.put(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/l7Policy/{l7PolicyId}/l7Rule/{l7RuleId}\",\n\tcompareType = None, # The comparison type for the L7 rule (type: cloud.loadbalancing.L7RuleCompareTypeEnum)\n\tinvert = None, # When true the logic of the rule is inverted. For example, with invert set to true, equal to would become not equal to (type: boolean)\n\tkey = None, # The key to use for the comparison. For example, the name of the cookie to evaluate (type: string)\n\truleType = None, # The L7 rule type (type: cloud.loadbalancing.L7RuleTypeEnum)\n\tvalue = None, # The value to use for the comparison. For example, the file type to compare (type: string)\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: cloud.loadbalancing.L7Rule\n$result = $ovh->put(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/l7Policy/{l7PolicyId}/l7Rule/{l7RuleId}\", array(\n\tcompareType => null, // The comparison type for the L7 rule (type: cloud.loadbalancing.L7RuleCompareTypeEnum)\n\tinvert => null, // When true the logic of the rule is inverted. For example, with invert set to true, equal to would become not equal to (type: boolean)\n\tkey => null, // The key to use for the comparison. For example, the name of the cookie to evaluate (type: string)\n\truleType => null, // The L7 rule type (type: cloud.loadbalancing.L7RuleTypeEnum)\n\tvalue => null, // The value to use for the comparison. For example, the file type to compare (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/loadbalancing/l7Policy/l7Rule/edit","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/listener":{"get":{"summary":"List your loadbalancer listeners","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"query","name":"loadbalancerId","description":"Filter by loadbalancer","schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.loadbalancing.Listener"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/listener\")\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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/listener\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/loadbalancing/listener/get","required":true}],"x-response-identifier":"id","x-expanded-response":"CloudLoadbalancingListener"},"post":{"summary":"Create a loadbalancer listener","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.loadbalancing.CreateListener"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.loadbalancing.Listener"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.loadbalancing.CreateListener\nresult = client.post(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/listener\",\n\tallowedCidrs = None, # The allowed CIDRs (type: array)\n\tcertificateId = None, # The ID of the secret containing the certificate (type: string)\n\tdefaultPoolId = None, # The ID of the default pool (type: string)\n\tdescription = None, # The description of the listener (type: string)\n\tloadbalancerId = None, # The ID of the loadbalancer (type: string)\n\tname = None, # The name of the listener (type: string)\n\tport = None, # Port to listen on (type: integer)\n\tprotocol = None, # Protocol of the listener (type: cloud.loadbalancing.ListenerProtocolEnum)\n\ttimeoutClientData = None, # Timeout client data of the listener (type: integer)\n\ttimeoutMemberData = None, # Timeout member data of the listener (type: integer)\n\ttlsVersions = None, # TLS versions of the listener (type: array)\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: cloud.loadbalancing.CreateListener\n$result = $ovh->post(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/listener\", array(\n\tallowedCidrs => null, // The allowed CIDRs (type: array)\n\tcertificateId => null, // The ID of the secret containing the certificate (type: string)\n\tdefaultPoolId => null, // The ID of the default pool (type: string)\n\tdescription => null, // The description of the listener (type: string)\n\tloadbalancerId => null, // The ID of the loadbalancer (type: string)\n\tname => null, // The name of the listener (type: string)\n\tport => null, // Port to listen on (type: integer)\n\tprotocol => null, // Protocol of the listener (type: cloud.loadbalancing.ListenerProtocolEnum)\n\ttimeoutClientData => null, // Timeout client data of the listener (type: integer)\n\ttimeoutMemberData => null, // Timeout member data of the listener (type: integer)\n\ttlsVersions => null, // TLS versions of the listener (type: array)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/loadbalancing/listener/create","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/listener/{listenerId}":{"delete":{"summary":"Delete loadbalancer listener","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"listenerId","description":"Listener ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/listener/{listenerId}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/listener/{listenerId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/loadbalancing/listener/delete","required":true}]},"get":{"summary":"Get details about a loadbalancer listener","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"listenerId","description":"Listener ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.loadbalancing.Listener"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/listener/{listenerId}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/listener/{listenerId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/loadbalancing/listener/get","required":true}],"x-response-identifier":"id"},"put":{"summary":"Edit a loadbalancer listener","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"listenerId","description":"Listener ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.loadbalancing.EditListener"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.loadbalancing.Listener"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.loadbalancing.EditListener\nresult = client.put(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/listener/{listenerId}\",\n\tallowedCidrs = None, # The allowed CIDRs (type: array)\n\tcertificateId = None, # ID of the secret containing the certificate (type: string)\n\tdefaultPoolId = None, # ID of the default pool (type: string)\n\tdescription = None, # Description of the listener (type: string)\n\tname = None, # Name of the listener (type: string)\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: cloud.loadbalancing.EditListener\n$result = $ovh->put(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/listener/{listenerId}\", array(\n\tallowedCidrs => null, // The allowed CIDRs (type: array)\n\tcertificateId => null, // ID of the secret containing the certificate (type: string)\n\tdefaultPoolId => null, // ID of the default pool (type: string)\n\tdescription => null, // Description of the listener (type: string)\n\tname => null, // Name of the listener (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/loadbalancing/listener/edit","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/loadbalancer":{"get":{"summary":"List your load balancers","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.loadbalancing.LoadBalancer"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/loadbalancer\")\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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/loadbalancer\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/loadbalancing/loadbalancer/get","required":true}],"x-response-identifier":"id","x-expanded-response":"CloudLoadbalancingLoadBalancer"},"post":{"summary":"Create a loadbalancer","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.loadbalancing.Loadbalancer.CreateInput"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.Operation"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.loadbalancing.Loadbalancer.CreateInput\nresult = client.post(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/loadbalancer\",\n\tflavorId = None, # Loadbalancer flavor id (type: string)\n\tlisteners = None, # Listeners to create with the loadbalancer (type: array)\n\tname = None, # Name of the member (type: string)\n\tnetwork = None, # Network information to create the loadbalancer (type: cloud.loadbalancing.loadbalancer.CreateInput.Network)\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: cloud.loadbalancing.Loadbalancer.CreateInput\n$result = $ovh->post(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/loadbalancer\", array(\n\tflavorId => null, // Loadbalancer flavor id (type: string)\n\tlisteners => null, // Listeners to create with the loadbalancer (type: array)\n\tname => null, // Name of the member (type: string)\n\tnetwork => null, // Network information to create the loadbalancer (type: cloud.loadbalancing.loadbalancer.CreateInput.Network)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/loadbalancing/loadbalancer/create","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/loadbalancer/{loadBalancerId}":{"delete":{"summary":"Delete loadbalancer","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"loadBalancerId","description":"Load balancer ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/loadbalancer/{loadBalancerId}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/loadbalancer/{loadBalancerId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/loadbalancing/loadbalancer/delete","required":true}]},"get":{"summary":"Get details about a load balancer","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"loadBalancerId","description":"Load balancer ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.loadbalancing.LoadBalancer"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/loadbalancer/{loadBalancerId}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/loadbalancer/{loadBalancerId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/loadbalancing/loadbalancer/get","required":true}],"x-response-identifier":"id"},"put":{"summary":"Edit a loadbalancer","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"loadBalancerId","description":"Load balancer ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.loadbalancing.LoadbalancerEdit"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.loadbalancing.LoadBalancerUpdateResult"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.loadbalancing.LoadbalancerEdit\nresult = client.put(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/loadbalancer/{loadBalancerId}\",\n\tdescription = None, # Description of the loadbalancer (type: string)\n\tflavorId = None, # Loadbalancer new flavor id (type: string)\n\tname = None, # Name of the member (type: string)\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: cloud.loadbalancing.LoadbalancerEdit\n$result = $ovh->put(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/loadbalancer/{loadBalancerId}\", array(\n\tdescription => null, // Description of the loadbalancer (type: string)\n\tflavorId => null, // Loadbalancer new flavor id (type: string)\n\tname => null, // Name of the member (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/loadbalancing/loadbalancer/edit","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/loadbalancer/{loadBalancerId}/associateFloatingIp":{"post":{"summary":"Associate an existing floating IP to a loadbalancer","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"loadBalancerId","description":"Load balancer ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.loadbalancing.AssociateFloatingIp"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.Operation"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.loadbalancing.AssociateFloatingIp\nresult = client.post(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/loadbalancer/{loadBalancerId}/associateFloatingIp\",\n\tfloatingIpId = None, # Floating IP ID (type: string)\n\tgateway = None, # Parameters to create a gateway if required (type: cloud.network.CreateGatewaySummary, nullable)\n\tip = None, # Private loadbalancer IP to associate the floating IP with (type: ip)\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: cloud.loadbalancing.AssociateFloatingIp\n$result = $ovh->post(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/loadbalancer/{loadBalancerId}/associateFloatingIp\", array(\n\tfloatingIpId => null, // Floating IP ID (type: string)\n\tgateway => null, // Parameters to create a gateway if required (type: cloud.network.CreateGatewaySummary, nullable)\n\tip => null, // Private loadbalancer IP to associate the floating IP with (type: ip)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/loadbalancing/loadbalancer/associateFloatingIp","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/loadbalancer/{loadBalancerId}/floatingIp":{"post":{"summary":"Create a floating IP and attach it to a loadbalancer","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"loadBalancerId","description":"Load balancer ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.loadbalancing.CreateFloatingIp"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.Operation"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.loadbalancing.CreateFloatingIp\nresult = client.post(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/loadbalancer/{loadBalancerId}/floatingIp\",\n\tgateway = None, # Parameters to create a gateway if required (type: cloud.network.CreateGatewaySummary, nullable)\n\tip = None, # Private loadbalancer IP to associate the floating IP with (type: ip)\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: cloud.loadbalancing.CreateFloatingIp\n$result = $ovh->post(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/loadbalancer/{loadBalancerId}/floatingIp\", array(\n\tgateway => null, // Parameters to create a gateway if required (type: cloud.network.CreateGatewaySummary, nullable)\n\tip => null, // Private loadbalancer IP to associate the floating IP with (type: ip)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/loadbalancing/loadbalancer/floatingIp/create","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/loadbalancer/{loadBalancerId}/log/subscription":{"get":{"summary":"List subscription IDs for a cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"query","name":"kind","description":"Filter on a specific kind (e.g., audit)","schema":{"type":"string"}},{"in":"path","name":"loadBalancerId","description":"Load balancer ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/loadbalancer/{loadBalancerId}/log/subscription\")\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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/loadbalancer/{loadBalancerId}/log/subscription\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/loadbalancing/loadbalancer/log/subscription/get","required":true}],"x-expanded-response":"DbaasLogsLogSubscription"},"post":{"summary":"Create a subscription from logs to a pre-existing LDP stream","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"loadBalancerId","description":"Load balancer ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscriptionCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscriptionResponse"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: dbaas.logs.LogSubscriptionCreation\nresult = client.post(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/loadbalancer/{loadBalancerId}/log/subscription\",\n\tkind = None, # Log kind name to subscribe to (type: string)\n\tstreamId = None, # Customer log stream ID (type: string)\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: dbaas.logs.LogSubscriptionCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/loadbalancer/{loadBalancerId}/log/subscription\", array(\n\tkind => null, // Log kind name to subscribe to (type: string)\n\tstreamId => null, // Customer log stream ID (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/loadbalancing/loadbalancer/log/subscription/create","required":true},{"name":"ldp:apiovh:output/graylog/stream/forwardTo","description":"Required on the targeted LDP service","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/loadbalancer/{loadBalancerId}/log/subscription/{subscriptionId}":{"delete":{"summary":"Delete a subscription","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"loadBalancerId","description":"Load balancer ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"subscriptionId","description":"Subscription ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscriptionResponse"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/loadbalancer/{loadBalancerId}/log/subscription/{subscriptionId}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/loadbalancer/{loadBalancerId}/log/subscription/{subscriptionId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/loadbalancing/loadbalancer/log/subscription/delete","required":true}]},"get":{"summary":"Get subscription details","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"loadBalancerId","description":"Load balancer ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"subscriptionId","description":"Subscription ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscription"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/loadbalancer/{loadBalancerId}/log/subscription/{subscriptionId}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/loadbalancer/{loadBalancerId}/log/subscription/{subscriptionId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/loadbalancing/loadbalancer/log/subscription/get","required":true}],"x-response-identifier":"subscriptionId"}},"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/loadbalancer/{loadBalancerId}/log/url":{"post":{"summary":"Generate a temporary URL to retrieve logs","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"loadBalancerId","description":"Load balancer ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogUrlCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.TemporaryLogsLink"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: dbaas.logs.LogUrlCreation\nresult = client.post(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/loadbalancer/{loadBalancerId}/log/url\",\n\tkind = None, # Log kind name (type: string)\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: dbaas.logs.LogUrlCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/loadbalancer/{loadBalancerId}/log/url\", array(\n\tkind => null, // Log kind name (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/loadbalancing/loadbalancer/log/url/create","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/loadbalancer/{loadBalancerId}/stats":{"get":{"summary":"Get loadbalancer statistics","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"loadBalancerId","description":"Load balancer ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.loadbalancing.loadbalancer.Stats"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/loadbalancer/{loadBalancerId}/stats\")\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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/loadbalancer/{loadBalancerId}/stats\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/loadbalancing/loadbalancer/stats/get","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/log/kind":{"get":{"summary":"List available log kinds","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/log/kind\")\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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/log/kind\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/loadbalancing/log/kind/get","required":true}],"x-expanded-response":"DbaasLogsLogKind"}},"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/log/kind/{name}":{"get":{"summary":"Get a log kind","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"name","description":"Name","required":true,"schema":{"type":"string"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogKind"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/log/kind/{name}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/log/kind/{name}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/loadbalancing/log/kind/get","required":true}],"x-response-identifier":"name"}},"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/pool":{"get":{"summary":"List your loadbalancer pools","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"query","name":"loadbalancerId","description":"Filter by loadbalancer","schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.loadbalancing.Pool"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/pool\")\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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/pool\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/loadbalancing/pool/get","required":true}],"x-response-identifier":"id","x-expanded-response":"CloudLoadbalancingPool"},"post":{"summary":"Create a loadbalancer pool","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.loadbalancing.PoolCreate"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.loadbalancing.Pool"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.loadbalancing.PoolCreate\nresult = client.post(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/pool\",\n\talgorithm = None, # Algorithm of the pool (type: cloud.loadbalancing.PoolAlgorithmEnum)\n\tlistenerId = None, # ID of the listener (type: string)\n\tloadbalancerId = None, # ID of the loadbalancer (type: string)\n\tname = None, # Name of the resource (type: string)\n\tprotocol = None, # Protocol of the pool (type: cloud.loadbalancing.PoolProtocolEnum)\n\tsessionPersistence = None, # Information about session persistence (type: cloud.loadbalancing.PoolSessionPersistence, nullable)\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: cloud.loadbalancing.PoolCreate\n$result = $ovh->post(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/pool\", array(\n\talgorithm => null, // Algorithm of the pool (type: cloud.loadbalancing.PoolAlgorithmEnum)\n\tlistenerId => null, // ID of the listener (type: string)\n\tloadbalancerId => null, // ID of the loadbalancer (type: string)\n\tname => null, // Name of the resource (type: string)\n\tprotocol => null, // Protocol of the pool (type: cloud.loadbalancing.PoolProtocolEnum)\n\tsessionPersistence => null, // Information about session persistence (type: cloud.loadbalancing.PoolSessionPersistence, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/loadbalancing/pool/create","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/pool/{poolId}":{"delete":{"summary":"Delete a loadbalancer pool","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"poolId","description":"Pool ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/pool/{poolId}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/pool/{poolId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/loadbalancing/pool/delete","required":true}]},"get":{"summary":"Get details about a loadbalancer pool","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"poolId","description":"Pool ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.loadbalancing.Pool"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/pool/{poolId}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/pool/{poolId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/loadbalancing/pool/get","required":true}],"x-response-identifier":"id"},"put":{"summary":"Update a loadbalancer pool","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"poolId","description":"Pool ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.loadbalancing.PoolUpdate"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.loadbalancing.Pool"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.loadbalancing.PoolUpdate\nresult = client.put(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/pool/{poolId}\",\n\talgorithm = None, # Algorithm of the pool (type: cloud.loadbalancing.PoolAlgorithmEnum, nullable)\n\tname = None, # Name of the resource (type: string, nullable)\n\tsessionPersistence = None, #  (type: cloud.loadbalancing.PoolSessionPersistence, nullable)\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: cloud.loadbalancing.PoolUpdate\n$result = $ovh->put(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/pool/{poolId}\", array(\n\talgorithm => null, // Algorithm of the pool (type: cloud.loadbalancing.PoolAlgorithmEnum, nullable)\n\tname => null, // Name of the resource (type: string, nullable)\n\tsessionPersistence => null, //  (type: cloud.loadbalancing.PoolSessionPersistence, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/loadbalancing/pool/edit","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/pool/{poolId}/member":{"get":{"summary":"List your pool members","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"poolId","description":"Pool ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.loadbalancing.pool.Member"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/pool/{poolId}/member\")\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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/pool/{poolId}/member\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/loadbalancing/pool/member/get","required":true}],"x-response-identifier":"id","x-expanded-response":"CloudLoadbalancingPoolMember"},"post":{"summary":"Create pool members","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"poolId","description":"Pool ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.loadbalancing.pool.CreateMembers"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.loadbalancing.pool.Member"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.loadbalancing.pool.CreateMembers\nresult = client.post(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/pool/{poolId}/member\",\n\tmembers = None, # Members of a pool (type: array)\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: cloud.loadbalancing.pool.CreateMembers\n$result = $ovh->post(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/pool/{poolId}/member\", array(\n\tmembers => null, // Members of a pool (type: array)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/loadbalancing/pool/member/create","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/pool/{poolId}/member/{memberId}":{"delete":{"summary":"Delete a pool member","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"memberId","description":"Member ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"poolId","description":"Pool ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/pool/{poolId}/member/{memberId}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/pool/{poolId}/member/{memberId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/loadbalancing/pool/member/delete","required":true}]},"get":{"summary":"Get details about a pool member","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"memberId","description":"Member ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"poolId","description":"Pool ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.loadbalancing.pool.Member"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/pool/{poolId}/member/{memberId}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/pool/{poolId}/member/{memberId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/loadbalancing/pool/member/get","required":true}],"x-response-identifier":"id"},"put":{"summary":"Update a pool member","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"memberId","description":"Member ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"poolId","description":"Pool ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.loadbalancing.pool.MemberUpdate"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.loadbalancing.pool.Member"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.loadbalancing.pool.MemberUpdate\nresult = client.put(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/pool/{poolId}/member/{memberId}\",\n\tname = None, # Name of the resource (type: string, nullable)\n\tweight = None, # Weight of a member determines the portion of requests or connections it services compared to the other members of the pool (type: integer, nullable)\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: cloud.loadbalancing.pool.MemberUpdate\n$result = $ovh->put(\"/cloud/project/{serviceName}/region/{regionName}/loadbalancing/pool/{poolId}/member/{memberId}\", array(\n\tname => null, // Name of the resource (type: string, nullable)\n\tweight => null, // Weight of a member determines the portion of requests or connections it services compared to the other members of the pool (type: integer, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/loadbalancing/pool/member/edit","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/log/kind":{"get":{"summary":"List available log kinds","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/log/kind\")\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(\"/cloud/project/{serviceName}/region/{regionName}/log/kind\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:capabilities/region/log/kind/get","required":true}],"x-expanded-response":"DbaasLogsLogKind"}},"/cloud/project/{serviceName}/region/{regionName}/log/kind/{name}":{"get":{"summary":"Get a log kind","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"name","description":"Name","required":true,"schema":{"type":"string"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogKind"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/log/kind/{name}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/log/kind/{name}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:capabilities/region/log/kind/get","required":true}],"x-response-identifier":"name"}},"/cloud/project/{serviceName}/region/{regionName}/log/subscription":{"get":{"summary":"List log subscription IDs for a cluster","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"query","name":"kind","description":"Filter on a specific kind (e.g., audit)","schema":{"type":"string"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/log/subscription\")\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(\"/cloud/project/{serviceName}/region/{regionName}/log/subscription\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/log/subscription/get","required":true}],"x-expanded-response":"DbaasLogsLogSubscription"},"post":{"summary":"Create a subscription from Cloud Project logs to a pre-existing LDP stream","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscriptionCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscriptionResponse"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: dbaas.logs.LogSubscriptionCreation\nresult = client.post(\"/cloud/project/{serviceName}/region/{regionName}/log/subscription\",\n\tkind = None, # Log kind name to subscribe to (type: string)\n\tstreamId = None, # Customer log stream ID (type: string)\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: dbaas.logs.LogSubscriptionCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/region/{regionName}/log/subscription\", array(\n\tkind => null, // Log kind name to subscribe to (type: string)\n\tstreamId => null, // Customer log stream ID (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/log/subscription/create","required":true},{"name":"ldp:apiovh:output/graylog/stream/forwardTo","description":"Required on the targeted LDP service","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/log/subscription/{subscriptionId}":{"delete":{"summary":"Delete a log subscription","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"subscriptionId","description":"Subscription ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscriptionResponse"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/log/subscription/{subscriptionId}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/log/subscription/{subscriptionId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/log/subscription/delete","required":true}]},"get":{"summary":"Get log subscription details","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"subscriptionId","description":"Subscription ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogSubscription"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/log/subscription/{subscriptionId}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/log/subscription/{subscriptionId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/log/subscription/get","required":true}],"x-response-identifier":"subscriptionId"}},"/cloud/project/{serviceName}/region/{regionName}/log/url":{"post":{"summary":"Generate a temporary URL to retrieve logs","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.LogUrlCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dbaas.logs.TemporaryLogsLink"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: dbaas.logs.LogUrlCreation\nresult = client.post(\"/cloud/project/{serviceName}/region/{regionName}/log/url\",\n\tkind = None, # Log kind name (type: string)\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: dbaas.logs.LogUrlCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/region/{regionName}/log/url\", array(\n\tkind => null, // Log kind name (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/log/url/create","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/network":{"get":{"summary":"List networks","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.Network"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/network\")\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(\"/cloud/project/{serviceName}/region/{regionName}/network\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/network/get","required":true}],"x-response-identifier":"id","x-expanded-response":"CloudProjectNetwork"},"post":{"summary":"Create a network with a gateway","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.network.CreateNetwork"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.Operation"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.network.CreateNetwork\nresult = client.post(\"/cloud/project/{serviceName}/region/{regionName}/network\",\n\tgateway = None, #  (type: cloud.network.CreateGatewaySummary, nullable)\n\tname = None, # Network name (type: string)\n\tsubnet = None, #  (type: cloud.network.CreateSubnetSummary, nullable)\n\tvlanId = None, # VLAN id, between 1 and 4095 (type: integer)\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: cloud.network.CreateNetwork\n$result = $ovh->post(\"/cloud/project/{serviceName}/region/{regionName}/network\", array(\n\tgateway => null, //  (type: cloud.network.CreateGatewaySummary, nullable)\n\tname => null, // Network name (type: string)\n\tsubnet => null, //  (type: cloud.network.CreateSubnetSummary, nullable)\n\tvlanId => null, // VLAN id, between 1 and 4095 (type: integer)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/network/create","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/network/{networkId}":{"delete":{"summary":"Delete network","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"networkId","description":"Network ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/network/{networkId}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/network/{networkId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/network/delete","required":true}]},"get":{"summary":"Get network","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"networkId","description":"Network ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.Network"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/network/{networkId}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/network/{networkId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/network/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/region/{regionName}/network/{networkId}/subnet":{"get":{"summary":"List subnets","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"networkId","description":"Network ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.project.Subnet"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/network/{networkId}/subnet\")\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(\"/cloud/project/{serviceName}/region/{regionName}/network/{networkId}/subnet\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/network/subnet/get","required":true}],"x-response-identifier":"id","x-expanded-response":"CloudProjectSubnet"},"post":{"summary":"Create subnet","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"networkId","description":"Network ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.network.CreateSubnet"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.Subnet"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.network.CreateSubnet\nresult = client.post(\"/cloud/project/{serviceName}/region/{regionName}/network/{networkId}/subnet\",\n\tallocationPools = None, # List of ip pools allocated in subnet (type: array)\n\tcidr = None, # Subnet range in CIDR notation (type: ipBlock)\n\tdnsNameServers = None, # DNS nameservers (type: array)\n\tenableDhcp = None, # Enable DHCP for the subnet (type: boolean)\n\tenableGatewayIp = None, # Set a gateway IP for the subnet (type: boolean)\n\tgatewayIp = None, # Gateway IP (type: ip)\n\thostRoutes = None, # Host routes (type: array)\n\tipVersion = None, # IP version (type: integer)\n\tname = None, # Subnet name (type: string)\n\tuseDefaultPublicDNSResolver = None, # Use default DNS (type: boolean, nullable)\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: cloud.network.CreateSubnet\n$result = $ovh->post(\"/cloud/project/{serviceName}/region/{regionName}/network/{networkId}/subnet\", array(\n\tallocationPools => null, // List of ip pools allocated in subnet (type: array)\n\tcidr => null, // Subnet range in CIDR notation (type: ipBlock)\n\tdnsNameServers => null, // DNS nameservers (type: array)\n\tenableDhcp => null, // Enable DHCP for the subnet (type: boolean)\n\tenableGatewayIp => null, // Set a gateway IP for the subnet (type: boolean)\n\tgatewayIp => null, // Gateway IP (type: ip)\n\thostRoutes => null, // Host routes (type: array)\n\tipVersion => null, // IP version (type: integer)\n\tname => null, // Subnet name (type: string)\n\tuseDefaultPublicDNSResolver => null, // Use default DNS (type: boolean, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/network/subnet/create","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/network/{networkId}/subnet/{subnetId}":{"delete":{"summary":"Delete subnet","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"networkId","description":"Network ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"subnetId","description":"Subnet ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/network/{networkId}/subnet/{subnetId}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/network/{networkId}/subnet/{subnetId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/network/subnet/delete","required":true}]},"get":{"summary":"Get subnet","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"networkId","description":"Network ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"subnetId","description":"Subnet ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.project.Subnet"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/network/{networkId}/subnet/{subnetId}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/network/{networkId}/subnet/{subnetId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/network/subnet/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/region/{regionName}/network/{networkId}/subnet/{subnetId}/gateway":{"post":{"summary":"Create Gateway for existing subnet","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"networkId","description":"Network ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"subnetId","description":"Subnet ID","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.network.CreateGatewaySummary"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.Operation"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.network.CreateGatewaySummary\nresult = client.post(\"/cloud/project/{serviceName}/region/{regionName}/network/{networkId}/subnet/{subnetId}/gateway\",\n\tmodel = None, # Model of the gateway (type: cloud.network.GatewayModelEnum)\n\tname = None, # Gateway name (type: string)\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: cloud.network.CreateGatewaySummary\n$result = $ovh->post(\"/cloud/project/{serviceName}/region/{regionName}/network/{networkId}/subnet/{subnetId}/gateway\", array(\n\tmodel => null, // Model of the gateway (type: cloud.network.GatewayModelEnum)\n\tname => null, // Gateway name (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/network/subnet/gateway/create","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/quota":{"get":{"summary":"List quotas","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.quota.Quotas"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/quota\")\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(\"/cloud/project/{serviceName}/region/{regionName}/quota\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/quota/get","required":true}]},"post":{"summary":"Change project quotas on region","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ProjectRegionQuotaCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.Operation"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.ProjectRegionQuotaCreation\nresult = client.post(\"/cloud/project/{serviceName}/region/{regionName}/quota\",\n\tname = None, # Name of the new quota (type: string)\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: cloud.ProjectRegionQuotaCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/region/{regionName}/quota\", array(\n\tname => null, // Name of the new quota (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/quota/create","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/quota/allowed":{"get":{"summary":"Get allowed quotas on region","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.quota.AllowedQuota"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/quota/allowed\")\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(\"/cloud/project/{serviceName}/region/{regionName}/quota/allowed\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/quota/allowed/get","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/quota/storage":{"delete":{"summary":"Delete storage quota on region","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/quota/storage\")\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(\"/cloud/project/{serviceName}/region/{regionName}/quota/storage\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/quota/storage/delete","required":true}]},"get":{"summary":"Get storage quotas on region","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.quota.storage.Quota"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/quota/storage\")\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(\"/cloud/project/{serviceName}/region/{regionName}/quota/storage\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/quota/storage/get","required":true}]},"put":{"summary":"Update storage quota on region","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.quota.storage.QuotaUpdate"}}}},"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.quota.storage.QuotaUpdate\nresult = client.put(\"/cloud/project/{serviceName}/region/{regionName}/quota/storage\",\n\tquotaBytes = None, # New quota in bytes (type: integer)\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: cloud.quota.storage.QuotaUpdate\n$result = $ovh->put(\"/cloud/project/{serviceName}/region/{regionName}/quota/storage\", array(\n\tquotaBytes => null, // New quota in bytes (type: integer)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/quota/storage/edit","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/share":{"get":{"summary":"Get shares","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.share.Share"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/share\")\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(\"/cloud/project/{serviceName}/region/{regionName}/share\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/share/get","required":true}],"x-response-identifier":"id","x-expanded-response":"CloudShareShare"},"post":{"summary":"Create Share","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.share.Share.Create"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.Operation"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.share.Share.Create\nresult = client.post(\"/cloud/project/{serviceName}/region/{regionName}/share\",\n\tavailabilityZone = None, # Availability zone for the share (required in 3AZ regions) (type: string, nullable)\n\tdescription = None, # Share description (type: string, nullable)\n\tencryption = None, # Optional encryption settings. Omit for an unencrypted share. (type: cloud.share.Share.Encryption, nullable)\n\tname = None, # Share name (type: string, nullable)\n\tnetworkId = None, # Network ID (required unless shareNetworkId is set) (type: string, nullable)\n\tshareNetworkId = None, # Existing share network ID (alternative to networkId/subnetId) (type: string, nullable)\n\tsize = None, # Share size in GB (type: integer)\n\tsnapshotId = None, # Snapshot ID to create the share from (type: string, nullable)\n\tsubnetId = None, # Subnet ID (required unless shareNetworkId is set) (type: string, nullable)\n\ttype = None, # Share type (type: cloud.share.TypeEnum)\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: cloud.share.Share.Create\n$result = $ovh->post(\"/cloud/project/{serviceName}/region/{regionName}/share\", array(\n\tavailabilityZone => null, // Availability zone for the share (required in 3AZ regions) (type: string, nullable)\n\tdescription => null, // Share description (type: string, nullable)\n\tencryption => null, // Optional encryption settings. Omit for an unencrypted share. (type: cloud.share.Share.Encryption, nullable)\n\tname => null, // Share name (type: string, nullable)\n\tnetworkId => null, // Network ID (required unless shareNetworkId is set) (type: string, nullable)\n\tshareNetworkId => null, // Existing share network ID (alternative to networkId/subnetId) (type: string, nullable)\n\tsize => null, // Share size in GB (type: integer)\n\tsnapshotId => null, // Snapshot ID to create the share from (type: string, nullable)\n\tsubnetId => null, // Subnet ID (required unless shareNetworkId is set) (type: string, nullable)\n\ttype => null, // Share type (type: cloud.share.TypeEnum)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/share/create","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/share/{shareId}":{"delete":{"summary":"Delete Share","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"shareId","description":"Share ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.Operation"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/share/{shareId}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/share/{shareId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/share/delete","required":true}]},"get":{"summary":"Get share","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"shareId","description":"Share ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.share.Share"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/share/{shareId}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/share/{shareId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/share/get","required":true}],"x-response-identifier":"id"},"put":{"summary":"Update Share","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"shareId","description":"Share ID","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.share.ShareUpdate"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.Operation"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.share.ShareUpdate\nresult = client.put(\"/cloud/project/{serviceName}/region/{regionName}/share/{shareId}\",\n\tdescription = None, # Share description (type: string)\n\tname = None, # Share name (type: string)\n\tnewSize = None, # New share size in GB (type: integer)\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: cloud.share.ShareUpdate\n$result = $ovh->put(\"/cloud/project/{serviceName}/region/{regionName}/share/{shareId}\", array(\n\tdescription => null, // Share description (type: string)\n\tname => null, // Share name (type: string)\n\tnewSize => null, // New share size in GB (type: integer)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/share/edit","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/share/{shareId}/acl":{"get":{"summary":"Get share ACLs","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"shareId","description":"Share ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.share.acl.ACL"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/share/{shareId}/acl\")\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(\"/cloud/project/{serviceName}/region/{regionName}/share/{shareId}/acl\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/share/acl/get","required":true}],"x-response-identifier":"id","x-expanded-response":"CloudShareAclACL"},"post":{"summary":"Create share ACL","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"shareId","description":"Share ID","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.share.acl.ACLCreate"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.share.acl.ACL"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.share.acl.ACLCreate\nresult = client.post(\"/cloud/project/{serviceName}/region/{regionName}/share/{shareId}/acl\",\n\taccessLevel = None, # ACL Access Level (type: cloud.share.acl.AccessLevelEnum)\n\taccessTo = None, # ACL Access Resource (type: string)\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: cloud.share.acl.ACLCreate\n$result = $ovh->post(\"/cloud/project/{serviceName}/region/{regionName}/share/{shareId}/acl\", array(\n\taccessLevel => null, // ACL Access Level (type: cloud.share.acl.AccessLevelEnum)\n\taccessTo => null, // ACL Access Resource (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/share/acl/create","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/share/{shareId}/acl/{aclId}":{"delete":{"summary":"Delete share ACL","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"aclId","description":"Acl ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"shareId","description":"Share ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/share/{shareId}/acl/{aclId}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/share/{shareId}/acl/{aclId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/share/acl/delete","required":true}]},"get":{"summary":"Get share ACL","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"aclId","description":"Acl ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"shareId","description":"Share ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.share.acl.ACL"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/share/{shareId}/acl/{aclId}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/share/{shareId}/acl/{aclId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/share/acl/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/region/{regionName}/share/{shareId}/snapshot":{"get":{"summary":"Get share snapshots","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"shareId","description":"Share ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.share.snapshot.Snapshot"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/share/{shareId}/snapshot\")\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(\"/cloud/project/{serviceName}/region/{regionName}/share/{shareId}/snapshot\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/share/snapshot/get","required":true}],"x-response-identifier":"id","x-expanded-response":"CloudShareSnapshotSnapshot"},"post":{"summary":"Create share snapshot","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"shareId","description":"Share ID","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.share.snapshot.Snapshot"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.share.snapshot.Snapshot"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.share.snapshot.Snapshot\nresult = client.post(\"/cloud/project/{serviceName}/region/{regionName}/share/{shareId}/snapshot\",\n\tdescription = None, # Snapshot description (type: string, nullable)\n\tname = None, # Snapshot name (type: string, nullable)\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: cloud.share.snapshot.Snapshot\n$result = $ovh->post(\"/cloud/project/{serviceName}/region/{regionName}/share/{shareId}/snapshot\", array(\n\tdescription => null, // Snapshot description (type: string, nullable)\n\tname => null, // Snapshot name (type: string, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/share/snapshot/create","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/share/{shareId}/snapshot/{snapshotId}":{"delete":{"summary":"Delete share snapshot","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"shareId","description":"Share ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"snapshotId","description":"Snapshot ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/share/{shareId}/snapshot/{snapshotId}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/share/{shareId}/snapshot/{snapshotId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/share/snapshot/delete","required":true}]},"get":{"summary":"Get share snapshot","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"shareId","description":"Share ID","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"snapshotId","description":"Snapshot ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.share.snapshot.Snapshot"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/share/{shareId}/snapshot/{snapshotId}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/share/{shareId}/snapshot/{snapshotId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/share/snapshot/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/region/{regionName}/shareNetwork":{"get":{"summary":"List share networks","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.share.ShareNetwork"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/shareNetwork\")\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(\"/cloud/project/{serviceName}/region/{regionName}/shareNetwork\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/shareNetwork/get","required":true}],"x-response-identifier":"id","x-expanded-response":"CloudShareShareNetwork"},"post":{"summary":"Create share network","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.share.ShareNetwork.Create"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.share.ShareNetwork"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.share.ShareNetwork.Create\nresult = client.post(\"/cloud/project/{serviceName}/region/{regionName}/shareNetwork\",\n\tavailabilityZone = None, # Availability zone for the share network (required in 3AZ regions) (type: string, nullable)\n\tdescription = None, # Share network description (type: string, nullable)\n\tname = None, # Share network name (type: string, nullable)\n\tnetworkId = None, # Private network ID (type: string)\n\tsubnetId = None, # Subnet ID (type: string)\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: cloud.share.ShareNetwork.Create\n$result = $ovh->post(\"/cloud/project/{serviceName}/region/{regionName}/shareNetwork\", array(\n\tavailabilityZone => null, // Availability zone for the share network (required in 3AZ regions) (type: string, nullable)\n\tdescription => null, // Share network description (type: string, nullable)\n\tname => null, // Share network name (type: string, nullable)\n\tnetworkId => null, // Private network ID (type: string)\n\tsubnetId => null, // Subnet ID (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/shareNetwork/create","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/shareNetwork/{shareNetworkId}":{"delete":{"summary":"Delete share network","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"shareNetworkId","description":"Share network ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/shareNetwork/{shareNetworkId}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/shareNetwork/{shareNetworkId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/shareNetwork/delete","required":true}]},"get":{"summary":"Get share network","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"shareNetworkId","description":"Share network ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.share.ShareNetwork"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/shareNetwork/{shareNetworkId}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/shareNetwork/{shareNetworkId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/shareNetwork/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/region/{regionName}/storage":{"get":{"operationId":"getStorageContainersOnRegion","summary":"Get S3™* compatible storage containers","description":"<sup>*</sup> S3 is a trademark filed by Amazon Technologies,Inc. OVHcloud's service is not sponsored by, endorsed by, or otherwise affiliated with Amazon Technologies,Inc.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.StorageContainerList"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/storage\")\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(\"/cloud/project/{serviceName}/region/{regionName}/storage\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/storage/get","required":true}],"x-response-identifier":"name"},"post":{"operationId":"createStorageContainerOnRegion","summary":"Create S3™* compatible storage container","description":"<sup>*</sup> S3 is a trademark filed by Amazon Technologies,Inc. OVHcloud's service is not sponsored by, endorsed by, or otherwise affiliated with Amazon Technologies,Inc.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.StorageContainerCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.StorageContainer"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.StorageContainerCreation\nresult = client.post(\"/cloud/project/{serviceName}/region/{regionName}/storage\",\n\tencryption = None, # Encryption configuration. (type: cloud.StorageEncryptionObject, nullable)\n\tlifecycle = None, # Lifecycle configuration (type: cloud.StorageLifecycleConfiguration, nullable)\n\tname = None, # Container name. (type: string)\n\tobjectLock = None, # Object lock configuration. (type: cloud.StorageLockConfiguration, nullable)\n\townerId = None, # Container owner user ID. (type: integer, nullable)\n\treplication = None, # Replication configuration. (type: cloud.StorageReplicationObjectIn, nullable)\n\ttags = None, # Container tags. (type: object, nullable)\n\tversioning = None, # Versioning configuration. (type: cloud.StorageVersioningObject, nullable)\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: cloud.StorageContainerCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/region/{regionName}/storage\", array(\n\tencryption => null, // Encryption configuration. (type: cloud.StorageEncryptionObject, nullable)\n\tlifecycle => null, // Lifecycle configuration (type: cloud.StorageLifecycleConfiguration, nullable)\n\tname => null, // Container name. (type: string)\n\tobjectLock => null, // Object lock configuration. (type: cloud.StorageLockConfiguration, nullable)\n\townerId => null, // Container owner user ID. (type: integer, nullable)\n\treplication => null, // Replication configuration. (type: cloud.StorageReplicationObjectIn, nullable)\n\ttags => null, // Container tags. (type: object, nullable)\n\tversioning => null, // Versioning configuration. (type: cloud.StorageVersioningObject, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/storage/create","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/storage/{name}":{"delete":{"operationId":"deteteStorageContainerOnRegion","summary":"Delete S3™* compatible storage container","description":"<sup>*</sup> S3 is a trademark filed by Amazon Technologies,Inc. OVHcloud's service is not sponsored by, endorsed by, or otherwise affiliated with Amazon Technologies,Inc.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"name","description":"Name","required":true,"schema":{"type":"string"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/storage/delete","required":true}]},"get":{"operationId":"getStorageContainerOnRegion","summary":"Get S3™* compatible storage container","description":"<sup>*</sup> S3 is a trademark filed by Amazon Technologies,Inc. OVHcloud's service is not sponsored by, endorsed by, or otherwise affiliated with Amazon Technologies,Inc.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"query","name":"limit","description":"Limit the number of objects returned (1000 maximum, defaults to 1000)","schema":{"type":"integer"}},{"in":"query","name":"marker","description":"Key to start with when listing objects","schema":{"type":"string"}},{"in":"path","name":"name","description":"Name","required":true,"schema":{"type":"string"}},{"in":"query","name":"noObjects","description":"Do not return container objects","schema":{"type":"boolean"}},{"in":"query","name":"prefix","description":"List objects whose key begins with this prefix","schema":{"type":"string"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.StorageContainer"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/storage/get","required":true}],"x-response-identifier":"name"},"put":{"operationId":"updateStorageContainerOnRegion","summary":"Update S3™* compatible storage container","description":"<sup>*</sup> S3 is a trademark filed by Amazon Technologies,Inc. OVHcloud's service is not sponsored by, endorsed by, or otherwise affiliated with Amazon Technologies,Inc.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"name","description":"Name","required":true,"schema":{"type":"string"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.StorageContainerUpdate"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.StorageContainer"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.StorageContainerUpdate\nresult = client.put(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}\",\n\tencryption = None, # Encryption configuration. (type: cloud.StorageEncryptionObject, nullable)\n\tlifecycle = None, # Lifecycle configuration (type: cloud.StorageLifecycleConfiguration, nullable)\n\tobjectLock = None, # Object lock configuration. (type: cloud.StorageLockConfiguration, nullable)\n\treplication = None, # Replication configuration. (type: cloud.StorageReplicationObjectIn, nullable)\n\ttags = None, # Container tags. (type: object, nullable)\n\tversioning = None, # Versioning configuration. (type: cloud.StorageVersioningObject, nullable)\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: cloud.StorageContainerUpdate\n$result = $ovh->put(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}\", array(\n\tencryption => null, // Encryption configuration. (type: cloud.StorageEncryptionObject, nullable)\n\tlifecycle => null, // Lifecycle configuration (type: cloud.StorageLifecycleConfiguration, nullable)\n\tobjectLock => null, // Object lock configuration. (type: cloud.StorageLockConfiguration, nullable)\n\treplication => null, // Replication configuration. (type: cloud.StorageReplicationObjectIn, nullable)\n\ttags => null, // Container tags. (type: object, nullable)\n\tversioning => null, // Versioning configuration. (type: cloud.StorageVersioningObject, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/storage/edit","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/bulkDeleteObjects":{"post":{"operationId":"bulkDeleteContainerObjectsOnRegion","summary":"Bulk delete container objects","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"name","description":"Name","required":true,"schema":{"type":"string"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.StorageObjectDeleteBulk"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.StorageObjectDeleteBulkResponse"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.StorageObjectDeleteBulk\nresult = client.post(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/bulkDeleteObjects\",\n\tobjects = None, # Objects to delete. (type: array)\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: cloud.StorageObjectDeleteBulk\n$result = $ovh->post(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/bulkDeleteObjects\", array(\n\tobjects => null, // Objects to delete. (type: array)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/storage/bulkDeleteObjects","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/job/replication":{"get":{"operationId":"getReplicationJobsOnStorageContainer","summary":"Get replication jobs on S3™* compatible buckets","description":"<sup>*</sup> S3 is a trademark filed by Amazon Technologies,Inc. OVHcloud's service is not sponsored by, endorsed by, or otherwise affiliated with Amazon Technologies,Inc.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"name","description":"Name","required":true,"schema":{"type":"string"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.StorageJobReplication"}}}}}},"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(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/job/replication\")\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(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/job/replication\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/storage/job/replication/get","required":true}]},"post":{"operationId":"createReplicationJobOnStorageContainer","summary":"Create replication job on S3™* compatible buckets","description":"<sup>*</sup> S3 is a trademark filed by Amazon Technologies,Inc. OVHcloud's service is not sponsored by, endorsed by, or otherwise affiliated with Amazon Technologies,Inc.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"name","description":"Name","required":true,"schema":{"type":"string"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.StorageJobReplication"}}}}},"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.post(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/job/replication\")\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->post(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/job/replication\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/storage/job/replication/create","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/lifecycle":{"delete":{"operationId":"deleteContainerLifecycleConfiguration","summary":"Delete S3™* compatible storage container lifecycle configuration","description":"<sup>*</sup> S3 is a trademark filed by Amazon Technologies,Inc. OVHcloud's service is not sponsored by, endorsed by, or otherwise affiliated with Amazon Technologies,Inc.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"name","description":"Name","required":true,"schema":{"type":"string"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"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(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/lifecycle\")\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(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/lifecycle\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/storage/lifecycle/delete","required":true}]},"get":{"operationId":"getContainerLifecycleConfiguration","summary":"Get S3™* compatible storage container lifecycle configuration","description":"<sup>*</sup> S3 is a trademark filed by Amazon Technologies,Inc. OVHcloud's service is not sponsored by, endorsed by, or otherwise affiliated with Amazon Technologies,Inc.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"name","description":"Name","required":true,"schema":{"type":"string"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.StorageLifecycleConfiguration"}}}}},"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(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/lifecycle\")\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(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/lifecycle\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/storage/lifecycle/get","required":true}]},"put":{"operationId":"updateContainerLifecycleConfiguration","summary":"Update S3™* compatible storage container lifecycle configuration","description":"<sup>*</sup> S3 is a trademark filed by Amazon Technologies,Inc. OVHcloud's service is not sponsored by, endorsed by, or otherwise affiliated with Amazon Technologies,Inc.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"name","description":"Name","required":true,"schema":{"type":"string"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.StorageLifecycleConfiguration"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.StorageLifecycleConfiguration"}}}}},"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: cloud.StorageLifecycleConfiguration\nresult = client.put(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/lifecycle\",\n\trules = None, # Lifecycle rules (type: array, nullable)\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: cloud.StorageLifecycleConfiguration\n$result = $ovh->put(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/lifecycle\", array(\n\trules => null, // Lifecycle rules (type: array, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/storage/lifecycle/edit","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/multipartUpload":{"get":{"operationId":"listMultipartUploadsOnStorageContainer","summary":"List multipart uploads on a S3™* compatible storage container","description":"<sup>*</sup> S3 is a trademark filed by Amazon Technologies,Inc. OVHcloud's service is not sponsored by, endorsed by, or otherwise affiliated with Amazon Technologies,Inc.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"name","description":"Name","required":true,"schema":{"type":"string"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.StorageMultipartUpload"}}}}}},"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(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/multipartUpload\")\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(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/multipartUpload\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/storage/multipartUpload/get","required":true}],"x-response-identifier":"id"},"post":{"operationId":"createMultipartUploadOnStorageContainer","summary":"Create a multipart upload on a S3™* compatible storage container","description":"<sup>*</sup> S3 is a trademark filed by Amazon Technologies,Inc. OVHcloud's service is not sponsored by, endorsed by, or otherwise affiliated with Amazon Technologies,Inc.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"name","description":"Name","required":true,"schema":{"type":"string"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.StorageMultipartUploadCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.StorageMultipartUpload"}}}}},"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: cloud.StorageMultipartUploadCreation\nresult = client.post(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/multipartUpload\",\n\tkey = None, # Object key (type: string)\n\tstorageClass = None, # Storage class for the object (type: cloud.storage.StorageClassEnum)\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: cloud.StorageMultipartUploadCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/multipartUpload\", array(\n\tkey => null, // Object key (type: string)\n\tstorageClass => null, // Storage class for the object (type: cloud.storage.StorageClassEnum)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/storage/multipartUpload/create","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/object":{"get":{"operationId":"getObjectsInformationOnContainerOnRegion","summary":"Get objects of S3™* compatible storage containers","description":"<sup>*</sup> S3 is a trademark filed by Amazon Technologies,Inc. OVHcloud's service is not sponsored by, endorsed by, or otherwise affiliated with Amazon Technologies,Inc.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"query","name":"delimiter","description":"A delimiter is a character that you use to group keys","schema":{"type":"string"}},{"in":"query","name":"keyMarker","description":"Key to start with when listing objects","schema":{"type":"string"}},{"in":"query","name":"limit","description":"Limit the number of objects returned (1000 maximum, defaults to 1000)","schema":{"type":"integer"}},{"in":"path","name":"name","description":"Name","required":true,"schema":{"type":"string"}},{"in":"query","name":"prefix","description":"List objects whose key begins with this prefix","schema":{"type":"string"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"query","name":"versionIdMarker","description":"Version ID to start listing from","schema":{"type":"string"}},{"in":"query","name":"withVersions","description":"List object versions","schema":{"type":"boolean"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.StorageObjectList"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/object\")\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(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/object\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/storage/object/get","required":true}],"x-response-identifier":"key"}},"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/object/{key}":{"delete":{"operationId":"deleteObjectOnContainerOnRegion","summary":"Delete S3™* compatible storage container object","description":"<sup>*</sup> S3 is a trademark filed by Amazon Technologies,Inc. OVHcloud's service is not sponsored by, endorsed by, or otherwise affiliated with Amazon Technologies,Inc.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"key","description":"Key","required":true,"schema":{"type":"string"}},{"in":"path","name":"name","description":"Name","required":true,"schema":{"type":"string"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/object/{key}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/object/{key}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/storage/object/delete","required":true}]},"get":{"operationId":"getObjectInformationOnContainerOnRegion","summary":"Get information about an object in a S3™* compatible storage container","description":"<sup>*</sup> S3 is a trademark filed by Amazon Technologies,Inc. OVHcloud's service is not sponsored by, endorsed by, or otherwise affiliated with Amazon Technologies,Inc.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"key","description":"Key","required":true,"schema":{"type":"string"}},{"in":"path","name":"name","description":"Name","required":true,"schema":{"type":"string"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.StorageObject"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/object/{key}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/object/{key}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/storage/object/get","required":true}],"x-response-identifier":"key"},"put":{"operationId":"updateObjectOnContainerOnRegion","summary":"Update S3™* compatible storage container object","description":"<sup>*</sup> S3 is a trademark filed by Amazon Technologies,Inc. OVHcloud's service is not sponsored by, endorsed by, or otherwise affiliated with Amazon Technologies,Inc.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"key","description":"Key","required":true,"schema":{"type":"string"}},{"in":"path","name":"name","description":"Name","required":true,"schema":{"type":"string"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.StorageObjectUpdate"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.StorageObject"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.StorageObjectUpdate\nresult = client.put(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/object/{key}\",\n\tlegalHold = None, # Object legal hold status. (type: cloud.storage.ObjectLegalHoldStatusEnum, nullable)\n\tlock = None, # Object lock retention configuration. (type: cloud.StorageObjectRetentionConfiguration, nullable)\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: cloud.StorageObjectUpdate\n$result = $ovh->put(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/object/{key}\", array(\n\tlegalHold => null, // Object legal hold status. (type: cloud.storage.ObjectLegalHoldStatusEnum, nullable)\n\tlock => null, // Object lock retention configuration. (type: cloud.StorageObjectRetentionConfiguration, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/storage/object/edit","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/object/{key}/copy":{"post":{"summary":"Copy a S3™* object","description":"<sup>*</sup> S3 is a trademark filed by Amazon Technologies,Inc. OVHcloud's service is not sponsored by, endorsed by, or otherwise affiliated with Amazon Technologies,Inc.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"key","description":"Key","required":true,"schema":{"type":"string"}},{"in":"path","name":"name","description":"Name","required":true,"schema":{"type":"string"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.StorageCopyObjectIn"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.StorageCopyObjectOut"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.StorageCopyObjectIn\nresult = client.post(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/object/{key}/copy\",\n\tstorageClass = None, # Target Storage class. When copying an object within the same bucket with the same key, specify a different storage class to change an object's storage class. (type: cloud.storage.StorageClassEnum, nullable)\n\ttargetBucket = None, # Target bucket name. Can be the same as source bucket name to copy an object within the same bucket. (type: string)\n\ttargetKey = None, # Target object key. (type: string)\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: cloud.StorageCopyObjectIn\n$result = $ovh->post(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/object/{key}/copy\", array(\n\tstorageClass => null, // Target Storage class. When copying an object within the same bucket with the same key, specify a different storage class to change an object's storage class. (type: cloud.storage.StorageClassEnum, nullable)\n\ttargetBucket => null, // Target bucket name. Can be the same as source bucket name to copy an object within the same bucket. (type: string)\n\ttargetKey => null, // Target object key. (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/storage/object/copy","required":true},{"name":"publicCloudProject:apiovh:region/storage/object/create","description":"Right needed on the target bucket to create an object","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/object/{key}/multipartUpload":{"get":{"operationId":"listMultipartUploadsOnObjectOnStorageContainer","summary":"List multipart uploads on a S3™* compatible storage container object","description":"<sup>*</sup> S3 is a trademark filed by Amazon Technologies,Inc. OVHcloud's service is not sponsored by, endorsed by, or otherwise affiliated with Amazon Technologies,Inc.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"key","description":"Key","required":true,"schema":{"type":"string"}},{"in":"path","name":"name","description":"Name","required":true,"schema":{"type":"string"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.StorageMultipartUpload"}}}}}},"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(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/object/{key}/multipartUpload\")\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(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/object/{key}/multipartUpload\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/storage/object/multipartUpload/get","required":true}],"x-response-identifier":"id","x-expanded-response":"CloudStorageMultipartUpload"}},"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/object/{key}/multipartUpload/{id}":{"delete":{"operationId":"abortMultipartUploadOnObjectOnStorageContainer","summary":"Abort a multipart upload on a S3™* compatible storage container","description":"<sup>*</sup> S3 is a trademark filed by Amazon Technologies,Inc. OVHcloud's service is not sponsored by, endorsed by, or otherwise affiliated with Amazon Technologies,Inc.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"id","description":"Id","required":true,"schema":{"type":"string"}},{"in":"path","name":"key","description":"Key","required":true,"schema":{"type":"string"}},{"in":"path","name":"name","description":"Name","required":true,"schema":{"type":"string"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"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(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/object/{key}/multipartUpload/{id}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/object/{key}/multipartUpload/{id}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/storage/object/multipartUpload/delete","required":true}]},"get":{"operationId":"getMultipartUploadOnObjectOnStorageContainer","summary":"Get a multipart upload on a S3™* compatible storage container","description":"<sup>*</sup> S3 is a trademark filed by Amazon Technologies,Inc. OVHcloud's service is not sponsored by, endorsed by, or otherwise affiliated with Amazon Technologies,Inc.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"id","description":"Id","required":true,"schema":{"type":"string"}},{"in":"path","name":"key","description":"Key","required":true,"schema":{"type":"string"}},{"in":"path","name":"name","description":"Name","required":true,"schema":{"type":"string"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.StorageMultipartUpload"}}}}},"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(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/object/{key}/multipartUpload/{id}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/object/{key}/multipartUpload/{id}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/storage/object/multipartUpload/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/object/{key}/multipartUpload/{id}/parts":{"get":{"operationId":"listMultipartUploadPartsOnObjectOnStorageContainer","summary":"List parts of a multipart upload on a S3™* compatible storage container","description":"<sup>*</sup> S3 is a trademark filed by Amazon Technologies,Inc. OVHcloud's service is not sponsored by, endorsed by, or otherwise affiliated with Amazon Technologies,Inc.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"id","description":"Id","required":true,"schema":{"type":"string"}},{"in":"path","name":"key","description":"Key","required":true,"schema":{"type":"string"}},{"in":"path","name":"name","description":"Name","required":true,"schema":{"type":"string"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.StorageMultipartUploadParts"}}}}},"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(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/object/{key}/multipartUpload/{id}/parts\")\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(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/object/{key}/multipartUpload/{id}/parts\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/storage/object/multipartUpload/get","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/object/{key}/restore":{"post":{"summary":"Restore a S3™* object","description":"<sup>*</sup> S3 is a trademark filed by Amazon Technologies,Inc. OVHcloud's service is not sponsored by, endorsed by, or otherwise affiliated with Amazon Technologies,Inc.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"key","description":"Key","required":true,"schema":{"type":"string"}},{"in":"path","name":"name","description":"Name","required":true,"schema":{"type":"string"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.StorageRestoreObjectIn"}}}},"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.StorageRestoreObjectIn\nresult = client.post(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/object/{key}/restore\",\n\tdays = None, # The number of days the restored object will be available. (type: integer)\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: cloud.StorageRestoreObjectIn\n$result = $ovh->post(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/object/{key}/restore\", array(\n\tdays => null, // The number of days the restored object will be available. (type: integer)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/storage/object/restore","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/object/{key}/version":{"get":{"operationId":"getObjectVersionsOnContainerOnRegion","summary":"Get versions of an object in a S3™* compatible storage container","description":"<sup>*</sup> S3 is a trademark filed by Amazon Technologies,Inc. OVHcloud's service is not sponsored by, endorsed by, or otherwise affiliated with Amazon Technologies,Inc.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"key","description":"Key","required":true,"schema":{"type":"string"}},{"in":"query","name":"limit","description":"Limit the number of object versions returned (1000 maximum, defaults to 1000)","schema":{"type":"integer"}},{"in":"path","name":"name","description":"Name","required":true,"schema":{"type":"string"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"query","name":"versionIdMarker","description":"List object versions starting after this version ID","schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.StorageObjectVersion"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/object/{key}/version\")\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(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/object/{key}/version\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/storage/object/version/get","required":true}],"x-response-identifier":"versionId","x-expanded-response":"CloudStorageObjectVersion"}},"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/object/{key}/version/{versionId}":{"delete":{"operationId":"deleteObjectVersionOnContainerOnRegion","summary":"Delete S3™* compatible storage container object version","description":"<sup>*</sup> S3 is a trademark filed by Amazon Technologies,Inc. OVHcloud's service is not sponsored by, endorsed by, or otherwise affiliated with Amazon Technologies,Inc.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"key","description":"Key","required":true,"schema":{"type":"string"}},{"in":"path","name":"name","description":"Name","required":true,"schema":{"type":"string"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"versionId","description":"Version ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/object/{key}/version/{versionId}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/object/{key}/version/{versionId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/storage/object/version/delete","required":true}]},"get":{"operationId":"getObjectVersionOnContainerOnRegion","summary":"Get information about an object in a S3™* compatible storage container","description":"<sup>*</sup> S3 is a trademark filed by Amazon Technologies,Inc. OVHcloud's service is not sponsored by, endorsed by, or otherwise affiliated with Amazon Technologies,Inc.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"key","description":"Key","required":true,"schema":{"type":"string"}},{"in":"path","name":"name","description":"Name","required":true,"schema":{"type":"string"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"versionId","description":"Version ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.StorageObjectVersion"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/object/{key}/version/{versionId}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/object/{key}/version/{versionId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/storage/object/version/get","required":true}],"x-response-identifier":"versionId"},"put":{"operationId":"updateObjectVersionOnContainerOnRegion","summary":"Update S3™* compatible storage container object version","description":"<sup>*</sup> S3 is a trademark filed by Amazon Technologies,Inc. OVHcloud's service is not sponsored by, endorsed by, or otherwise affiliated with Amazon Technologies,Inc.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"key","description":"Key","required":true,"schema":{"type":"string"}},{"in":"path","name":"name","description":"Name","required":true,"schema":{"type":"string"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"versionId","description":"Version ID","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.StorageObjectUpdate"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.StorageObject"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.StorageObjectUpdate\nresult = client.put(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/object/{key}/version/{versionId}\",\n\tlegalHold = None, # Object legal hold status. (type: cloud.storage.ObjectLegalHoldStatusEnum, nullable)\n\tlock = None, # Object lock retention configuration. (type: cloud.StorageObjectRetentionConfiguration, nullable)\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: cloud.StorageObjectUpdate\n$result = $ovh->put(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/object/{key}/version/{versionId}\", array(\n\tlegalHold => null, // Object legal hold status. (type: cloud.storage.ObjectLegalHoldStatusEnum, nullable)\n\tlock => null, // Object lock retention configuration. (type: cloud.StorageObjectRetentionConfiguration, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/storage/object/version/edit","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/object/{key}/version/{versionId}/copy":{"post":{"summary":"Copy a specific version of a S3™* object","description":"<sup>*</sup> S3 is a trademark filed by Amazon Technologies,Inc. OVHcloud's service is not sponsored by, endorsed by, or otherwise affiliated with Amazon Technologies,Inc.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"key","description":"Key","required":true,"schema":{"type":"string"}},{"in":"path","name":"name","description":"Name","required":true,"schema":{"type":"string"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"versionId","description":"Version ID","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.StorageCopyObjectIn"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.StorageCopyObjectOut"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.StorageCopyObjectIn\nresult = client.post(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/object/{key}/version/{versionId}/copy\",\n\tstorageClass = None, # Target Storage class. When copying an object within the same bucket with the same key, specify a different storage class to change an object's storage class. (type: cloud.storage.StorageClassEnum, nullable)\n\ttargetBucket = None, # Target bucket name. Can be the same as source bucket name to copy an object within the same bucket. (type: string)\n\ttargetKey = None, # Target object key. (type: string)\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: cloud.StorageCopyObjectIn\n$result = $ovh->post(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/object/{key}/version/{versionId}/copy\", array(\n\tstorageClass => null, // Target Storage class. When copying an object within the same bucket with the same key, specify a different storage class to change an object's storage class. (type: cloud.storage.StorageClassEnum, nullable)\n\ttargetBucket => null, // Target bucket name. Can be the same as source bucket name to copy an object within the same bucket. (type: string)\n\ttargetKey => null, // Target object key. (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/storage/object/copy","required":true},{"name":"publicCloudProject:apiovh:region/storage/object/create","description":"Right needed on the target bucket to create an object","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/object/{key}/version/{versionId}/restore":{"post":{"summary":"Restore a specific version of a S3™* object","description":"<sup>*</sup> S3 is a trademark filed by Amazon Technologies,Inc. OVHcloud's service is not sponsored by, endorsed by, or otherwise affiliated with Amazon Technologies,Inc.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"key","description":"Key","required":true,"schema":{"type":"string"}},{"in":"path","name":"name","description":"Name","required":true,"schema":{"type":"string"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"versionId","description":"Version ID","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.StorageRestoreObjectIn"}}}},"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.StorageRestoreObjectIn\nresult = client.post(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/object/{key}/version/{versionId}/restore\",\n\tdays = None, # The number of days the restored object will be available. (type: integer)\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: cloud.StorageRestoreObjectIn\n$result = $ovh->post(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/object/{key}/version/{versionId}/restore\", array(\n\tdays => null, // The number of days the restored object will be available. (type: integer)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/storage/object/restore","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/policy/{userId}":{"post":{"operationId":"createStorageContainerPolicyOnRegion","summary":"Add S3™* compatible storage container policy","description":"<sup>*</sup> S3 is a trademark filed by Amazon Technologies,Inc. OVHcloud's service is not sponsored by, endorsed by, or otherwise affiliated with Amazon Technologies,Inc.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"name","description":"Name","required":true,"schema":{"type":"string"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"userId","description":"User ID","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.storage.AddContainerPolicy"}}}},"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.storage.AddContainerPolicy\nresult = client.post(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/policy/{userId}\",\n\tobjectKey = None, # Container object key (type: string)\n\troleName = None, # Policy role (type: cloud.storage.PolicyRoleEnum)\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: cloud.storage.AddContainerPolicy\n$result = $ovh->post(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/policy/{userId}\", array(\n\tobjectKey => null, // Container object key (type: string)\n\troleName => null, // Policy role (type: cloud.storage.PolicyRoleEnum)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/storage/policy/create","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/presign":{"post":{"operationId":"createPresignedUrlOnRegion","summary":"Generate S3™* compatible presigned URLs to download or upload objects","description":"<sup>*</sup> S3 is a trademark filed by Amazon Technologies,Inc. OVHcloud's service is not sponsored by, endorsed by, or otherwise affiliated with Amazon Technologies,Inc.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"name","description":"Name","required":true,"schema":{"type":"string"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.storage.PresignedURLInput"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.storage.PresignedURL"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.storage.PresignedURLInput\nresult = client.post(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/presign\",\n\texpire = None, # URL expiration in seconds. (type: integer)\n\tmethod = None, # Presigned URL method. (type: cloud.storage.PresignedURLMethodEnum)\n\tobject = None, # Object key. (type: string)\n\tstorageClass = None, # When using PUT method, specifies the created object storage class. (type: cloud.storage.StorageClassEnum)\n\tversionId = None, # Version ID of the object to download or delete when using GET or DELETE methods. (type: string)\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: cloud.storage.PresignedURLInput\n$result = $ovh->post(\"/cloud/project/{serviceName}/region/{regionName}/storage/{name}/presign\", array(\n\texpire => null, // URL expiration in seconds. (type: integer)\n\tmethod => null, // Presigned URL method. (type: cloud.storage.PresignedURLMethodEnum)\n\tobject => null, // Object key. (type: string)\n\tstorageClass => null, // When using PUT method, specifies the created object storage class. (type: cloud.storage.StorageClassEnum)\n\tversionId => null, // Version ID of the object to download or delete when using GET or DELETE methods. (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/storage/presign","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/volume":{"get":{"summary":"List your volumes","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.region.Volume"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/volume\")\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(\"/cloud/project/{serviceName}/region/{regionName}/volume\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/volume/get","required":true}],"x-response-identifier":"id","x-expanded-response":"CloudRegionVolume"},"post":{"summary":"Create a volume","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.region.Volume.Create"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.region.Volume.Create.Response"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.region.Volume.Create\nresult = client.post(\"/cloud/project/{serviceName}/region/{regionName}/volume\",\n\tavailabilityZone = None, # Availability zone to create the volume on (type: string, nullable)\n\tbackupId = None, # Backup ID (type: string)\n\tdescription = None, # Volume description (type: string)\n\tencryption = None, # Optional encryption settings. Set encryption.kms for CMK; omit for OMK. (type: cloud.region.Volume.Encryption, nullable)\n\timageId = None, # Image ID (type: string)\n\tinstanceId = None, # Instance ID (type: string)\n\tname = None, # Volume name (type: string)\n\tsize = None, # Volume size (type: integer)\n\tsnapshotId = None, # Snapshot ID (type: string)\n\ttype = None, # Type of the volume (type: cloud.volume.VolumeTypeEnum)\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: cloud.region.Volume.Create\n$result = $ovh->post(\"/cloud/project/{serviceName}/region/{regionName}/volume\", array(\n\tavailabilityZone => null, // Availability zone to create the volume on (type: string, nullable)\n\tbackupId => null, // Backup ID (type: string)\n\tdescription => null, // Volume description (type: string)\n\tencryption => null, // Optional encryption settings. Set encryption.kms for CMK; omit for OMK. (type: cloud.region.Volume.Encryption, nullable)\n\timageId => null, // Image ID (type: string)\n\tinstanceId => null, // Instance ID (type: string)\n\tname => null, // Volume name (type: string)\n\tsize => null, // Volume size (type: integer)\n\tsnapshotId => null, // Snapshot ID (type: string)\n\ttype => null, // Type of the volume (type: cloud.volume.VolumeTypeEnum)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/volume/create","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/volume/{volumeId}":{"get":{"summary":"Get a volume","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"volumeId","description":"Volume ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.region.Volume"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/volume/{volumeId}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/volume/{volumeId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/volume/get","required":true}],"x-response-identifier":"id"},"put":{"summary":"Update a volume","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"volumeId","description":"Volume ID","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.region.Volume.Update"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.Operation"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.region.Volume.Update\nresult = client.put(\"/cloud/project/{serviceName}/region/{regionName}/volume/{volumeId}\",\n\tdescription = None, # New volume description (type: string, nullable)\n\tname = None, # New volume name (type: string, nullable)\n\tsize = None, # New volume size (type: integer, nullable)\n\ttype = None, # New volume type (type: cloud.volume.VolumeTypeEnum, nullable)\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: cloud.region.Volume.Update\n$result = $ovh->put(\"/cloud/project/{serviceName}/region/{regionName}/volume/{volumeId}\", array(\n\tdescription => null, // New volume description (type: string, nullable)\n\tname => null, // New volume name (type: string, nullable)\n\tsize => null, // New volume size (type: integer, nullable)\n\ttype => null, // New volume type (type: cloud.volume.VolumeTypeEnum, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/volume/edit","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/volume/{volumeId}/bulkDeleteSnapshots":{"post":{"summary":"Delete your volume snapshots in bulk","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"volumeId","description":"Volume ID","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.region.Volume.BulkDeleteSnapshots"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.Operation"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.region.Volume.BulkDeleteSnapshots\nresult = client.post(\"/cloud/project/{serviceName}/region/{regionName}/volume/{volumeId}/bulkDeleteSnapshots\",\n\tdeleteAll = None, # Delete all snapshots related to a volume, cannot be used along side a list of IDs (type: boolean)\n\tsnapshotIds = None, # Snapshot IDs to delete, cannot be used along side the deleteAll boolean set to true (type: array, nullable)\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: cloud.region.Volume.BulkDeleteSnapshots\n$result = $ovh->post(\"/cloud/project/{serviceName}/region/{regionName}/volume/{volumeId}/bulkDeleteSnapshots\", array(\n\tdeleteAll => null, // Delete all snapshots related to a volume, cannot be used along side a list of IDs (type: boolean)\n\tsnapshotIds => null, // Snapshot IDs to delete, cannot be used along side the deleteAll boolean set to true (type: array, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/volume/bulkDeleteSnapshots","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/volumeBackup":{"get":{"summary":"List volume backups","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.volumeBackup.VolumeBackup"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/volumeBackup\")\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(\"/cloud/project/{serviceName}/region/{regionName}/volumeBackup\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/volumeBackup/get","required":true}],"x-response-identifier":"id","x-expanded-response":"CloudVolumeBackupVolumeBackup"},"post":{"summary":"Create a volume backup","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.volumeBackup.VolumeBackupCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.volumeBackup.VolumeBackup"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.volumeBackup.VolumeBackupCreation\nresult = client.post(\"/cloud/project/{serviceName}/region/{regionName}/volumeBackup\",\n\tname = None, # name of the backup (type: string)\n\tvolumeId = None, # ID of the volume to backup (type: string)\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: cloud.volumeBackup.VolumeBackupCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/region/{regionName}/volumeBackup\", array(\n\tname => null, // name of the backup (type: string)\n\tvolumeId => null, // ID of the volume to backup (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/volumeBackup/create","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/volumeBackup/{volumeBackupId}":{"delete":{"summary":"Delete volume backup","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"volumeBackupId","description":"Volume backup ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/volumeBackup/{volumeBackupId}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/volumeBackup/{volumeBackupId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/volumeBackup/delete","required":true}]},"get":{"summary":"Get volume backup","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"volumeBackupId","description":"Volume backup ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.volumeBackup.VolumeBackup"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/volumeBackup/{volumeBackupId}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/volumeBackup/{volumeBackupId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/volumeBackup/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/region/{regionName}/volumeBackup/{volumeBackupId}/restore":{"post":{"summary":"Restore a volume backup on a volume","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"volumeBackupId","description":"Volume backup ID","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.volumeBackup.VolumeBackupRestore"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.volumeBackup.VolumeBackup"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.volumeBackup.VolumeBackupRestore\nresult = client.post(\"/cloud/project/{serviceName}/region/{regionName}/volumeBackup/{volumeBackupId}/restore\",\n\tvolumeId = None, # ID of the volume to restore on (type: string)\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: cloud.volumeBackup.VolumeBackupRestore\n$result = $ovh->post(\"/cloud/project/{serviceName}/region/{regionName}/volumeBackup/{volumeBackupId}/restore\", array(\n\tvolumeId => null, // ID of the volume to restore on (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/volumeBackup/restore","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/volumeBackup/{volumeBackupId}/volume":{"post":{"summary":"Create a volume from a volume backup","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"volumeBackupId","description":"Volume backup ID","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.volumeBackup.VolumeCreationFromBackup"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.volume.Volume"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.volumeBackup.VolumeCreationFromBackup\nresult = client.post(\"/cloud/project/{serviceName}/region/{regionName}/volumeBackup/{volumeBackupId}/volume\",\n\tname = None, # name of the new volume (type: string)\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: cloud.volumeBackup.VolumeCreationFromBackup\n$result = $ovh->post(\"/cloud/project/{serviceName}/region/{regionName}/volumeBackup/{volumeBackupId}/volume\", array(\n\tname => null, // name of the new volume (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/volumeBackup/volume/create","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/volumeType":{"get":{"summary":"List the volume types available for a region","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.region.VolumeType"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/volumeType\")\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(\"/cloud/project/{serviceName}/region/{regionName}/volumeType\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/volumeType/get","required":true}],"x-response-identifier":"name"}},"/cloud/project/{serviceName}/region/{regionName}/workflow/backup":{"get":{"summary":"List your automated backups","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.Backup"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/workflow/backup\")\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(\"/cloud/project/{serviceName}/region/{regionName}/workflow/backup\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/workflow/backup/get","required":true}],"x-response-identifier":"id","x-expanded-response":"CloudBackup"},"post":{"summary":"Create a new automated backup","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ProjectRegionWorkflowBackupCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.Backup"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.ProjectRegionWorkflowBackupCreation\nresult = client.post(\"/cloud/project/{serviceName}/region/{regionName}/workflow/backup\",\n\tcron = None, # Unix Cron pattern (eg: '* * * * *') (type: string)\n\tinstanceId = None, # Instance ID to backup (type: string)\n\tmaxExecutionCount = None, # Number of execution to process before ending the job. Null value means that the job will never end. (type: integer, nullable)\n\tname = None, # Name of your backup job (type: string)\n\trotation = None, # Number of backup to keep (type: integer)\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: cloud.ProjectRegionWorkflowBackupCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/region/{regionName}/workflow/backup\", array(\n\tcron => null, // Unix Cron pattern (eg: '* * * * *') (type: string)\n\tinstanceId => null, // Instance ID to backup (type: string)\n\tmaxExecutionCount => null, // Number of execution to process before ending the job. Null value means that the job will never end. (type: integer, nullable)\n\tname => null, // Name of your backup job (type: string)\n\trotation => null, // Number of backup to keep (type: integer)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/workflow/backup/create","required":true}]}},"/cloud/project/{serviceName}/region/{regionName}/workflow/backup/{backupWorkflowId}":{"delete":{"summary":"Delete a backup workflow process","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"backupWorkflowId","description":"Backup workflow ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/workflow/backup/{backupWorkflowId}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/workflow/backup/{backupWorkflowId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/workflow/backup/delete","required":true}]},"get":{"summary":"Get details about a backup workflow process","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"backupWorkflowId","description":"Backup workflow ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"regionName","description":"Region name","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.Backup"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/region/{regionName}/workflow/backup/{backupWorkflowId}\")\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(\"/cloud/project/{serviceName}/region/{regionName}/workflow/backup/{backupWorkflowId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:region/workflow/backup/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/regionAvailable":{"get":{"summary":"List the regions on which you can ask an access to","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.AvailableRegion"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/regionAvailable\")\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(\"/cloud/project/{serviceName}/regionAvailable\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:regionAvailable/get","required":true}]}},"/cloud/project/{serviceName}/retain":{"post":{"summary":"Do not expire the project, and retain it","description":"Do not expire the project, and retain it. You will have to pay for the resources you will use after using this call","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"The project id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/retain\")\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->post(\"/cloud/project/{serviceName}/retain\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:retain/create","required":true}]}},"/cloud/project/{serviceName}/role":{"get":{"summary":"Get all Roles","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.role.Roles"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/role\")\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(\"/cloud/project/{serviceName}/role\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:role/get","required":true}]}},"/cloud/project/{serviceName}/serviceInfos":{"get":{"summary":"Get service information","description":"Get service information. Returns the status, creation and expiration dates, contacts and renewal settings of the service.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"The project id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/services.Service"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/serviceInfos\")\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(\"/cloud/project/{serviceName}/serviceInfos\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:serviceInfos/get","required":true}]},"put":{"summary":"Update service information","description":"Update service information. Updates the renewal settings of the service: automatic renewal, period, or deletion at expiration.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"The project id","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/services.Service"}}}},"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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: services.Service\nresult = client.put(\"/cloud/project/{serviceName}/serviceInfos\",\n\trenew = None, # Way of handling the renew (type: service.RenewType, nullable)\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: services.Service\n$result = $ovh->put(\"/cloud/project/{serviceName}/serviceInfos\", array(\n\trenew => null, // Way of handling the renew (type: service.RenewType, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:serviceInfos/edit","required":true}]}},"/cloud/project/{serviceName}/snapshot":{"get":{"summary":"Get snapshots","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"query","name":"flavorType","description":"Get compatible snapshots with flavor type","schema":{"type":"string"}},{"in":"query","name":"region","description":"Region","schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.image.Image"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/snapshot\")\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(\"/cloud/project/{serviceName}/snapshot\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:snapshot/get","required":true}],"x-response-identifier":"id","x-expanded-response":"CloudImageImage"}},"/cloud/project/{serviceName}/snapshot/{imageId}":{"delete":{"summary":"Delete a snapshot","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"imageId","description":"Image ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.image.Image"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/snapshot/{imageId}\")\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(\"/cloud/project/{serviceName}/snapshot/{imageId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:snapshot/delete","required":true}]},"get":{"summary":"Get snapshot details","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"imageId","description":"Image ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.image.Image"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/snapshot/{imageId}\")\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(\"/cloud/project/{serviceName}/snapshot/{imageId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:snapshot/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/sshkey":{"get":{"summary":"Get SSH keys","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"query","name":"region","description":"Region","schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.sshkey.SshKey"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/sshkey\")\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(\"/cloud/project/{serviceName}/sshkey\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:sshkey/get","required":true}],"x-response-identifier":"id"},"post":{"summary":"Create SSH key","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ProjectSshkeyCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.sshkey.SshKeyDetail"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.ProjectSshkeyCreation\nresult = client.post(\"/cloud/project/{serviceName}/sshkey\",\n\tname = None, # SSH key name (type: string)\n\tpublicKey = None, # SSH public key (type: string)\n\tregion = None, # Region to create SSH key (type: string, nullable)\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: cloud.ProjectSshkeyCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/sshkey\", array(\n\tname => null, // SSH key name (type: string)\n\tpublicKey => null, // SSH public key (type: string)\n\tregion => null, // Region to create SSH key (type: string, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:sshkey/create","required":true}]}},"/cloud/project/{serviceName}/sshkey/{keyId}":{"delete":{"summary":"Delete SSH key","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"keyId","description":"Key ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/sshkey/{keyId}\")\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(\"/cloud/project/{serviceName}/sshkey/{keyId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:sshkey/delete","required":true}]},"get":{"summary":"Get SSH key","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"keyId","description":"Key ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.sshkey.SshKeyDetail"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/sshkey/{keyId}\")\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(\"/cloud/project/{serviceName}/sshkey/{keyId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:sshkey/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/storage":{"get":{"summary":"Get SWIFT storage containers","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"query","name":"includeType","description":"Include container type","schema":{"type":"boolean"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.storage.Container"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/storage\")\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(\"/cloud/project/{serviceName}/storage\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:storage/get","required":true}]},"post":{"summary":"Create SWIFT container","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ProjectStorageCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.storage.Container"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.ProjectStorageCreation\nresult = client.post(\"/cloud/project/{serviceName}/storage\",\n\tarchive = None, # Archive container flag (type: boolean)\n\tcontainerName = None, # Container name (type: string)\n\tregion = None, # Region (type: string)\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: cloud.ProjectStorageCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/storage\", array(\n\tarchive => null, // Archive container flag (type: boolean)\n\tcontainerName => null, // Container name (type: string)\n\tregion => null, // Region (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:storage/create","required":true}]}},"/cloud/project/{serviceName}/storage/access":{"post":{"summary":"Access to SWIFT storage API","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.storage.ContainerAccess"}}}}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/storage/access\")\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->post(\"/cloud/project/{serviceName}/storage/access\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:storage/access/create","required":true}]}},"/cloud/project/{serviceName}/storage/quota":{"get":{"summary":"List storage quotas","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.storage.Quota"}}}}},"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(\"/cloud/project/{serviceName}/storage/quota\")\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(\"/cloud/project/{serviceName}/storage/quota\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:storage/quota/get","required":true}]}},"/cloud/project/{serviceName}/storage/{containerId}":{"delete":{"summary":"Delete SWIFT container","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"containerId","description":"Container ID","required":true,"schema":{"type":"string"}},{"in":"query","name":"recursive","description":"Recursively delete objects and container","schema":{"type":"boolean"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/storage/{containerId}\")\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(\"/cloud/project/{serviceName}/storage/{containerId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:storage/delete","required":true}]},"get":{"summary":"Get SWIFT storage container","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"containerId","description":"Container ID","required":true,"schema":{"type":"string"}},{"in":"query","name":"noObjects","description":"Do not return container objects","schema":{"type":"boolean"}},{"in":"query","name":"prefix","description":"Filter objects by name prefix","schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.storage.ContainerDetail"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/storage/{containerId}\")\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(\"/cloud/project/{serviceName}/storage/{containerId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:storage/get","required":true}],"x-response-identifier":"name"},"put":{"summary":"Update SWIFT storage container","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"containerId","description":"Container ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ProjectStorageUpdate"}}}},"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.ProjectStorageUpdate\nresult = client.put(\"/cloud/project/{serviceName}/storage/{containerId}\",\n\tcontainerType = None, # Container type (type: cloud.storage.TypeEnum, nullable)\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: cloud.ProjectStorageUpdate\n$result = $ovh->put(\"/cloud/project/{serviceName}/storage/{containerId}\", array(\n\tcontainerType => null, // Container type (type: cloud.storage.TypeEnum, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:storage/edit","required":true}]}},"/cloud/project/{serviceName}/storage/{containerId}/cors":{"delete":{"summary":"Delete CORS support on SWIFT container","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"containerId","description":"Container ID","required":true,"schema":{"type":"string"}},{"in":"query","name":"origin","description":"Delete this origin","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/storage/{containerId}/cors\")\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(\"/cloud/project/{serviceName}/storage/{containerId}/cors\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:storage/cors/delete","required":true}]},"post":{"summary":"Add CORS support on SWIFT container","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"containerId","description":"Container ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ProjectStorageCorsCreation"}}}},"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.ProjectStorageCorsCreation\nresult = client.post(\"/cloud/project/{serviceName}/storage/{containerId}/cors\",\n\torigin = None, # Allow this origin (type: string)\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: cloud.ProjectStorageCorsCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/storage/{containerId}/cors\", array(\n\torigin => null, // Allow this origin (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:storage/cors/create","required":true}]}},"/cloud/project/{serviceName}/storage/{containerId}/publicUrl":{"post":{"summary":"Get a public temporary URL to access one of your SWIFT object","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"containerId","description":"Container ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ProjectStoragePublicUrlCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.storage.ContainerObjectTempURL"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.ProjectStoragePublicUrlCreation\nresult = client.post(\"/cloud/project/{serviceName}/storage/{containerId}/publicUrl\",\n\texpirationDate = None, # Temporary URL expiration (type: string)\n\tobjectName = None, # Object name (type: string)\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: cloud.ProjectStoragePublicUrlCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/storage/{containerId}/publicUrl\", array(\n\texpirationDate => null, // Temporary URL expiration (type: string)\n\tobjectName => null, // Object name (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:storage/publicUrl/create","required":true}]}},"/cloud/project/{serviceName}/storage/{containerId}/static":{"post":{"summary":"Deploy your SWIFT container files as a static web site","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"containerId","description":"Container ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/storage/{containerId}/static\")\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->post(\"/cloud/project/{serviceName}/storage/{containerId}/static\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:storage/static/create","required":true}]}},"/cloud/project/{serviceName}/storage/{containerId}/user":{"post":{"summary":"Create openstack user with only access to this SWIFT container","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"containerId","description":"Container ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ProjectStorageUserCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.user.UserDetail"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.ProjectStorageUserCreation\nresult = client.post(\"/cloud/project/{serviceName}/storage/{containerId}/user\",\n\tdescription = None, # User description (type: string, nullable)\n\tright = None, # User right (all, read, write) (type: cloud.storage.RightEnum)\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: cloud.ProjectStorageUserCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/storage/{containerId}/user\", array(\n\tdescription => null, // User description (type: string, nullable)\n\tright => null, // User right (all, read, write) (type: cloud.storage.RightEnum)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:storage/user/create","required":true}]}},"/cloud/project/{serviceName}/terminate":{"post":{"summary":"Request service termination","description":"Request service termination. Starts the termination of the service. The admin contact receives a token by email, to confirm with the `confirmTermination` call.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"The project id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"string"}}}}},"x-developer-hub-navigation":[["Public Cloud","Project Management","Lifecycle"]],"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/terminate\")\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->post(\"/cloud/project/{serviceName}/terminate\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:terminate","required":true}]}},"/cloud/project/{serviceName}/unleash":{"post":{"summary":"Request more quota on your /cloud project","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"The project id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/unleash\")\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->post(\"/cloud/project/{serviceName}/unleash\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:unleash","required":true}]}},"/cloud/project/{serviceName}/usage/current":{"get":{"summary":"Get current usage","description":"Returns the usage and price of the project for the current month, by resource type: hourly, monthly and per-unit resources.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.usage.UsageCurrent"}}}}},"x-developer-hub-navigation":[["Public Cloud","Project Management","Usage@@@10"]],"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/usage/current\")\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(\"/cloud/project/{serviceName}/usage/current\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:usage/current/get","required":true}]}},"/cloud/project/{serviceName}/usage/forecast":{"get":{"summary":"Get usage forecast","description":"Returns the forecast usage and price of the project at the end of the current month, and the credits that can pay the next bill.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.usage.UsageForecast"}}}}},"x-developer-hub-navigation":[["Public Cloud","Project Management","Usage@@@20"]],"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/usage/forecast\")\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(\"/cloud/project/{serviceName}/usage/forecast\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:usage/forecast/get","required":true}]}},"/cloud/project/{serviceName}/usage/history":{"get":{"summary":"List past usage periods","description":"Returns the past usage periods of the project. Filter them with the `from` and `to` dates, then get the details of one period with its ID.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"query","name":"from","description":"Filter results having date superior to from","schema":{"type":"string","format":"date-time"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"query","name":"to","description":"Filter results having date inferior to","schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.usage.UsageHistory"}}}}}},"x-developer-hub-navigation":[["Public Cloud","Project Management","Usage@@@50"]],"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/usage/history\")\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(\"/cloud/project/{serviceName}/usage/history\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:usage/history/get","required":true}]}},"/cloud/project/{serviceName}/usage/history/{usageId}":{"get":{"summary":"Get a past usage period","description":"Returns the usage and price of the project for one past period, by resource type.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"usageId","description":"Usage ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.usage.UsageHistoryDetail"}}}}},"x-developer-hub-navigation":[["Public Cloud","Project Management","Usage@@@40"]],"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/usage/history/{usageId}\")\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(\"/cloud/project/{serviceName}/usage/history/{usageId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:usage/history/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/usage/plans":{"get":{"summary":"Get savings plan consumption","description":"Returns, for each flavor, the savings plan subscriptions, their coverage and utilization over time, and the amount saved. Filter by flavor, year and month.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"query","name":"flavor","description":"Flavor to filter plans on","schema":{"type":"string"}},{"in":"query","name":"month","description":"Month of the period to extract plans consumption","schema":{"type":"integer"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"query","name":"year","description":"Year of the period to extract plans consumption","schema":{"type":"integer"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.usage.PlanResponse"}}}}},"x-developer-hub-navigation":[["Public Cloud","Project Management","Usage@@@30"]],"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/usage/plans\")\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(\"/cloud/project/{serviceName}/usage/plans\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:usage/plans/get","required":true}]}},"/cloud/project/{serviceName}/user":{"get":{"summary":"Get all users","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.user.User"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/user\")\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(\"/cloud/project/{serviceName}/user\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:user/get","required":true}],"x-response-identifier":"id","x-expanded-response":"CloudUserUser"},"post":{"summary":"Create user","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ProjectUserCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.user.UserDetail"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.ProjectUserCreation\nresult = client.post(\"/cloud/project/{serviceName}/user\",\n\tdescription = None, # User description (type: string, nullable)\n\trole = None, # Openstack keystone role name (type: cloud.user.RoleEnum, nullable)\n\troles = None, # Openstack keystone roles names (type: array, nullable)\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: cloud.ProjectUserCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/user\", array(\n\tdescription => null, // User description (type: string, nullable)\n\trole => null, // Openstack keystone role name (type: cloud.user.RoleEnum, nullable)\n\troles => null, // Openstack keystone roles names (type: array, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:user/create","required":true}]}},"/cloud/project/{serviceName}/user/{userId}":{"delete":{"summary":"Delete user","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"userId","description":"User ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/user/{userId}\")\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(\"/cloud/project/{serviceName}/user/{userId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:user/delete","required":true}]},"get":{"summary":"Get user details","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"userId","description":"User ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.user.User"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/user/{userId}\")\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(\"/cloud/project/{serviceName}/user/{userId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:user/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/user/{userId}/configuration":{"get":{"summary":"Get your client configuration","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"query","name":"region","description":"Region","schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"userId","description":"User ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.user.Configuration"}}}}},"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(\"/cloud/project/{serviceName}/user/{userId}/configuration\")\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(\"/cloud/project/{serviceName}/user/{userId}/configuration\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:user/configuration/get","required":true}]}},"/cloud/project/{serviceName}/user/{userId}/openrc":{"get":{"summary":"Get RC file of OpenStack","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"query","name":"region","description":"Region","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"userId","description":"User ID","required":true,"schema":{"type":"integer"}},{"in":"query","name":"version","description":"Identity API version","schema":{"$ref":"#/components/schemas/cloud.user.OpenrcVersionEnum"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.user.Openrc"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/user/{userId}/openrc\")\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(\"/cloud/project/{serviceName}/user/{userId}/openrc\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:user/openrc/get","required":true}]}},"/cloud/project/{serviceName}/user/{userId}/policy":{"get":{"summary":"Export user storage policy","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"userId","description":"User ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.storage.PolicyRaw"}}}}},"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(\"/cloud/project/{serviceName}/user/{userId}/policy\")\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(\"/cloud/project/{serviceName}/user/{userId}/policy\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:user/policy/get","required":true}]},"post":{"summary":"Import user storage policy","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"userId","description":"User ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.storage.PolicyRaw"}}}},"responses":{"200":{"description":"successful operation"}},"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: cloud.storage.PolicyRaw\nresult = client.post(\"/cloud/project/{serviceName}/user/{userId}/policy\",\n\tpolicy = None, # Raw storage policy. (type: string)\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: cloud.storage.PolicyRaw\n$result = $ovh->post(\"/cloud/project/{serviceName}/user/{userId}/policy\", array(\n\tpolicy => null, // Raw storage policy. (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:user/policy/create","required":true}]}},"/cloud/project/{serviceName}/user/{userId}/rclone":{"get":{"summary":"Get rclone configuration file","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"query","name":"region","description":"Region","required":true,"schema":{"type":"string"}},{"in":"query","name":"service","description":"Service","schema":{"$ref":"#/components/schemas/cloud.user.RCloneServiceEnum"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"userId","description":"User ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.user.Rclone"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/user/{userId}/rclone\")\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(\"/cloud/project/{serviceName}/user/{userId}/rclone\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:user/rclone/get","required":true}]}},"/cloud/project/{serviceName}/user/{userId}/regeneratePassword":{"post":{"summary":"Regenerate user password","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"userId","description":"User ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.user.UserDetail"}}}}},"x-badges":[{"color":"green","label":"Stable production 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.post(\"/cloud/project/{serviceName}/user/{userId}/regeneratePassword\")\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->post(\"/cloud/project/{serviceName}/user/{userId}/regeneratePassword\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:user/regeneratePassword","required":true}]}},"/cloud/project/{serviceName}/user/{userId}/role":{"get":{"summary":"Get user roles","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"userId","description":"User ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.role.Role"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/user/{userId}/role\")\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(\"/cloud/project/{serviceName}/user/{userId}/role\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:user/role/get","required":true}],"x-response-identifier":"id"},"post":{"summary":"Add a role to a user","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"userId","description":"User ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ProjectUserRoleCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.user.UserDetail"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.ProjectUserRoleCreation\nresult = client.post(\"/cloud/project/{serviceName}/user/{userId}/role\",\n\troleId = None, # Role id (type: string)\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: cloud.ProjectUserRoleCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/user/{userId}/role\", array(\n\troleId => null, // Role id (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:user/role/create","required":true}]},"put":{"summary":"Update roles of a user","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"userId","description":"User ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ProjectUserRoleUpdate"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.user.UserDetail"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.ProjectUserRoleUpdate\nresult = client.put(\"/cloud/project/{serviceName}/user/{userId}/role\",\n\trolesIds = None, # Roles ids (type: array)\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: cloud.ProjectUserRoleUpdate\n$result = $ovh->put(\"/cloud/project/{serviceName}/user/{userId}/role\", array(\n\trolesIds => null, // Roles ids (type: array)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:user/role/edit","required":true}]}},"/cloud/project/{serviceName}/user/{userId}/role/{roleId}":{"delete":{"summary":"Remove role for a user","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"roleId","description":"Role ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"userId","description":"User ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/user/{userId}/role/{roleId}\")\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(\"/cloud/project/{serviceName}/user/{userId}/role/{roleId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:user/role/delete","required":true}]},"get":{"summary":"Get role detail","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"roleId","description":"Role ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"userId","description":"User ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.role.Role"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/user/{userId}/role/{roleId}\")\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(\"/cloud/project/{serviceName}/user/{userId}/role/{roleId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:user/role/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/user/{userId}/s3Credentials":{"get":{"summary":"List your S3™* compatible storage credentials","description":"<sup>*</sup> S3 is a trademark filed by Amazon Technologies,Inc. OVHcloud's service is not sponsored by, endorsed by, or otherwise affiliated with Amazon Technologies,Inc.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"userId","description":"User ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.user.S3Credentials"}}}}}},"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(\"/cloud/project/{serviceName}/user/{userId}/s3Credentials\")\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(\"/cloud/project/{serviceName}/user/{userId}/s3Credentials\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:user/s3Credentials/get","required":true}],"x-response-identifier":"access","x-expanded-response":"CloudUserS3Credentials"},"post":{"summary":"Create a new S3™* compatible storage credentials for an user","description":"<sup>*</sup> S3 is a trademark filed by Amazon Technologies,Inc. OVHcloud's service is not sponsored by, endorsed by, or otherwise affiliated with Amazon Technologies,Inc.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"userId","description":"User ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.user.S3CredentialsWithSecret"}}}}},"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.post(\"/cloud/project/{serviceName}/user/{userId}/s3Credentials\")\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->post(\"/cloud/project/{serviceName}/user/{userId}/s3Credentials\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:user/s3Credentials/create","required":true}]}},"/cloud/project/{serviceName}/user/{userId}/s3Credentials/{access}":{"delete":{"summary":"Delete an S3™* compatible storage credential","description":"<sup>*</sup> S3 is a trademark filed by Amazon Technologies,Inc. OVHcloud's service is not sponsored by, endorsed by, or otherwise affiliated with Amazon Technologies,Inc.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"access","description":"Access","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"userId","description":"User ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"successful operation"}},"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(\"/cloud/project/{serviceName}/user/{userId}/s3Credentials/{access}\")\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(\"/cloud/project/{serviceName}/user/{userId}/s3Credentials/{access}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:user/s3Credentials/delete","required":true}]},"get":{"summary":"Get details about an S3™* compatible storage credential","description":"<sup>*</sup> S3 is a trademark filed by Amazon Technologies,Inc. OVHcloud's service is not sponsored by, endorsed by, or otherwise affiliated with Amazon Technologies,Inc.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"access","description":"Access","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"userId","description":"User ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.user.S3Credentials"}}}}},"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(\"/cloud/project/{serviceName}/user/{userId}/s3Credentials/{access}\")\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(\"/cloud/project/{serviceName}/user/{userId}/s3Credentials/{access}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:user/s3Credentials/get","required":true}],"x-response-identifier":"access"}},"/cloud/project/{serviceName}/user/{userId}/s3Credentials/{access}/secret":{"post":{"summary":"Display secret from a S3™* compatible storage credential","description":"<sup>*</sup> S3 is a trademark filed by Amazon Technologies,Inc. OVHcloud's service is not sponsored by, endorsed by, or otherwise affiliated with Amazon Technologies,Inc.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"access","description":"Access","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"userId","description":"User ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.user.S3CredentialsSecretOnly"}}}}},"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.post(\"/cloud/project/{serviceName}/user/{userId}/s3Credentials/{access}/secret\")\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->post(\"/cloud/project/{serviceName}/user/{userId}/s3Credentials/{access}/secret\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:user/s3Credentials/secret/display","required":true}]}},"/cloud/project/{serviceName}/user/{userId}/token":{"post":{"summary":"Get token for user","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"userId","description":"User ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ProjectUserTokenCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.authentication.Token"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.ProjectUserTokenCreation\nresult = client.post(\"/cloud/project/{serviceName}/user/{userId}/token\",\n\tpassword = None, # User password (type: string)\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: cloud.ProjectUserTokenCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/user/{userId}/token\", array(\n\tpassword => null, // User password (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:user/token/create","required":true}]}},"/cloud/project/{serviceName}/volume":{"get":{"summary":"Get volumes","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"query","name":"region","description":"Volume region","schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.volume.Volume"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/volume\")\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(\"/cloud/project/{serviceName}/volume\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:volume/get","required":true}],"x-response-identifier":"id","x-expanded-response":"CloudVolumeVolume"},"post":{"summary":"Create a volume","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ProjectVolumeCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.volume.Volume"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.ProjectVolumeCreation\nresult = client.post(\"/cloud/project/{serviceName}/volume\",\n\tavailabilityZone = None, # Availability zone of the volume (required for 3AZ regions, forbidden for classic type) (type: string, nullable)\n\tdescription = None, # Volume description (type: string, nullable)\n\timageId = None, # Id of image to create a bootable volume (type: string, nullable)\n\tname = None, # Volume name (type: string, nullable)\n\tregion = None, # Volume region (type: string)\n\tsize = None, # Volume size (in GiB) (type: integer)\n\tsnapshotId = None, # Source snapshot id (type: string, nullable)\n\ttype = None, # Volume type (type: cloud.volume.VolumeTypeEnum)\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: cloud.ProjectVolumeCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/volume\", array(\n\tavailabilityZone => null, // Availability zone of the volume (required for 3AZ regions, forbidden for classic type) (type: string, nullable)\n\tdescription => null, // Volume description (type: string, nullable)\n\timageId => null, // Id of image to create a bootable volume (type: string, nullable)\n\tname => null, // Volume name (type: string, nullable)\n\tregion => null, // Volume region (type: string)\n\tsize => null, // Volume size (in GiB) (type: integer)\n\tsnapshotId => null, // Source snapshot id (type: string, nullable)\n\ttype => null, // Volume type (type: cloud.volume.VolumeTypeEnum)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:volume/create","required":true}]}},"/cloud/project/{serviceName}/volume/snapshot":{"get":{"summary":"Get volume snapshots","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"query","name":"region","description":"Snapshots region","schema":{"type":"string"}},{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/cloud.volume.Snapshot"}}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/volume/snapshot\")\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(\"/cloud/project/{serviceName}/volume/snapshot\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:volume/snapshot/get","required":true}],"x-response-identifier":"id","x-expanded-response":"CloudVolumeSnapshot"}},"/cloud/project/{serviceName}/volume/snapshot/{snapshotId}":{"delete":{"summary":"Delete a volume snapshot","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"snapshotId","description":"Snapshot ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/volume/snapshot/{snapshotId}\")\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(\"/cloud/project/{serviceName}/volume/snapshot/{snapshotId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:volume/snapshot/delete","required":true}]},"get":{"summary":"Get volume snapshot details","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"snapshotId","description":"Snapshot ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.volume.Snapshot"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/volume/snapshot/{snapshotId}\")\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(\"/cloud/project/{serviceName}/volume/snapshot/{snapshotId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:volume/snapshot/get","required":true}],"x-response-identifier":"id"}},"/cloud/project/{serviceName}/volume/{volumeId}":{"delete":{"summary":"Delete a volume","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"volumeId","description":"Volume ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/volume/{volumeId}\")\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(\"/cloud/project/{serviceName}/volume/{volumeId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:volume/delete","required":true}]},"get":{"summary":"Get volume details","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"volumeId","description":"Volume ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.volume.Volume"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/volume/{volumeId}\")\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(\"/cloud/project/{serviceName}/volume/{volumeId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:volume/get","required":true}],"x-response-identifier":"id"},"put":{"summary":"Update a volume","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"volumeId","description":"Volume ID","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ProjectVolumeUpdate"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.volume.Volume"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.ProjectVolumeUpdate\nresult = client.put(\"/cloud/project/{serviceName}/volume/{volumeId}\",\n\tdescription = None, # Volume description (type: string, nullable)\n\tname = None, # Volume name (type: string, nullable)\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: cloud.ProjectVolumeUpdate\n$result = $ovh->put(\"/cloud/project/{serviceName}/volume/{volumeId}\", array(\n\tdescription => null, // Volume description (type: string, nullable)\n\tname => null, // Volume name (type: string, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:volume/edit","required":true}]}},"/cloud/project/{serviceName}/volume/{volumeId}/attach":{"post":{"summary":"Attach a volume on an instance","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"volumeId","description":"Volume ID","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ProjectVolumeAttachCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.volume.Volume"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.ProjectVolumeAttachCreation\nresult = client.post(\"/cloud/project/{serviceName}/volume/{volumeId}/attach\",\n\tinstanceId = None, # Instance id (type: string)\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: cloud.ProjectVolumeAttachCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/volume/{volumeId}/attach\", array(\n\tinstanceId => null, // Instance id (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:volume/attach","required":true}]}},"/cloud/project/{serviceName}/volume/{volumeId}/detach":{"post":{"summary":"Detach a volume from an instance","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"volumeId","description":"Volume ID","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ProjectVolumeDetachCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.volume.Volume"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.ProjectVolumeDetachCreation\nresult = client.post(\"/cloud/project/{serviceName}/volume/{volumeId}/detach\",\n\tinstanceId = None, # Instance id (type: string)\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: cloud.ProjectVolumeDetachCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/volume/{volumeId}/detach\", array(\n\tinstanceId => null, // Instance id (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:volume/detach","required":true}]}},"/cloud/project/{serviceName}/volume/{volumeId}/snapshot":{"post":{"summary":"Snapshot a volume","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"volumeId","description":"Volume ID","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ProjectVolumeSnapshotCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.volume.Snapshot"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.ProjectVolumeSnapshotCreation\nresult = client.post(\"/cloud/project/{serviceName}/volume/{volumeId}/snapshot\",\n\tdescription = None, # Snapshot description (type: string, nullable)\n\tname = None, # Snapshot name (type: string, nullable)\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: cloud.ProjectVolumeSnapshotCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/volume/{volumeId}/snapshot\", array(\n\tdescription => null, // Snapshot description (type: string, nullable)\n\tname => null, // Snapshot name (type: string, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:volume/snapshot/create","required":true}]}},"/cloud/project/{serviceName}/volume/{volumeId}/upsize":{"post":{"summary":"Extend a volume","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}},{"in":"path","name":"volumeId","description":"Volume ID","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.ProjectVolumeUpsizeCreation"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.volume.Volume"}}}}},"x-badges":[{"color":"green","label":"Stable production 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: cloud.ProjectVolumeUpsizeCreation\nresult = client.post(\"/cloud/project/{serviceName}/volume/{volumeId}/upsize\",\n\tsize = None, # New volume size (in GiB) (must be greater than current one) (type: integer)\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: cloud.ProjectVolumeUpsizeCreation\n$result = $ovh->post(\"/cloud/project/{serviceName}/volume/{volumeId}/upsize\", array(\n\tsize => null, // New volume size (in GiB) (must be greater than current one) (type: integer)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:volume/upsize","required":true}]}},"/cloud/project/{serviceName}/vrack":{"get":{"summary":"Get the linked vRack on your project","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.Vrack"}}}}},"x-badges":[{"color":"green","label":"Stable production 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(\"/cloud/project/{serviceName}/vrack\")\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(\"/cloud/project/{serviceName}/vrack\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:vrack/get","required":true}]},"post":{"summary":"Order and attach a new vRack on your project","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud.Operation"}}}}},"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.post(\"/cloud/project/{serviceName}/vrack\")\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->post(\"/cloud/project/{serviceName}/vrack\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:vrack/create","required":true}]}}}}
