├── .tool-versions ├── examples ├── cluster │ ├── providerconfig │ │ ├── .gitignore │ │ ├── providerconfig.yaml │ │ └── secret.yaml.tmpl │ ├── me │ │ ├── sshkey.yaml │ │ ├── group.yaml │ │ ├── user.yaml │ │ └── api_oauth2_client.yaml │ ├── cloud │ │ ├── user.yaml │ │ ├── s3 │ │ │ ├── s3user.yaml │ │ │ └── s3creds.yaml │ │ └── project.yaml │ ├── iam │ │ └── iamresourcegroup.yaml │ ├── kubernetes │ │ ├── iprestriction.yaml │ │ ├── cluster.yaml │ │ └── nodepool.yaml │ ├── network │ │ ├── privatenetwork.yaml │ │ ├── subnet.yaml │ │ └── subnetv2.yaml │ ├── databases │ │ ├── privatenetwork.yaml │ │ ├── subnet.yaml │ │ └── user.yaml │ ├── gateway │ │ ├── privatenetwork.yaml │ │ ├── gateway.yaml │ │ └── subnet.yaml │ ├── configuration │ │ ├── examples │ │ │ ├── edixos_cluster.yaml │ │ │ └── edixos_cluster-2.yaml │ │ └── provider.yaml │ ├── registry │ │ └── user.yaml │ └── storeconfig │ │ └── vault.yaml ├── namespaced │ ├── providerconfig │ │ ├── .gitignore │ │ ├── clusterproviderconfig.yaml │ │ ├── providerconfig.yaml │ │ └── secret.yaml.tmpl │ ├── cloud │ │ └── v1alpha1 │ │ │ └── user.yaml │ ├── dns │ │ └── v1alpha1 │ │ │ ├── zonednssec.yaml │ │ │ ├── zonerecord.yaml │ │ │ └── zoneredirection.yaml │ ├── logs │ │ └── v1alpha1 │ │ │ ├── logstoken.yaml │ │ │ ├── logsoutputopensearchalias.yaml │ │ │ ├── logsoutputopensearchindex.yaml │ │ │ └── logscluster.yaml │ ├── vrack │ │ └── v1alpha1 │ │ │ ├── cloudproject.yaml │ │ │ ├── dedicatedserver.yaml │ │ │ ├── iploadbalancing.yaml │ │ │ └── dedicatedserverinterface.yaml │ ├── additionalip │ │ └── v1alpha1 │ │ │ ├── firewall.yaml │ │ │ ├── mitigation.yaml │ │ │ ├── move.yaml │ │ │ ├── reverse.yaml │ │ │ ├── projectfailoveripattach.yaml │ │ │ └── firewallrule.yaml │ ├── me │ │ └── v1alpha1 │ │ │ ├── group.yaml │ │ │ ├── user.yaml │ │ │ └── oauth2client.yaml │ ├── lb │ │ └── v1alpha1 │ │ │ ├── tcproute.yaml │ │ │ ├── httpfarm.yaml │ │ │ ├── tcpfarm.yaml │ │ │ ├── udpfarm.yaml │ │ │ ├── udpfrontend.yaml │ │ │ ├── ssl.yaml │ │ │ ├── httproute.yaml │ │ │ └── projectregionloadbalancerlogsubscription.yaml │ ├── nas │ │ └── v1alpha1 │ │ │ ├── nashapartition.yaml │ │ │ ├── nashapartitionsnapshot.yaml │ │ │ └── nashapartitionaccess.yaml │ ├── privatesql │ │ └── v1alpha1 │ │ │ ├── privatedatabasedatabase.yaml │ │ │ ├── privatedatabaseuser.yaml │ │ │ ├── privatedatabaseusergrant.yaml │ │ │ └── privatedatabasewhitelist.yaml │ ├── network │ │ └── v1alpha1 │ │ │ ├── privatenetwork.yaml │ │ │ └── subnet.yaml │ ├── clouddiskarray │ │ └── v1alpha1 │ │ │ └── cephacl.yaml │ ├── iam │ │ └── v1alpha1 │ │ │ ├── iamresourcegroup.yaml │ │ │ └── iampermissionsgroup.yaml │ ├── kube │ │ └── v1alpha1 │ │ │ ├── iprestriction.yaml │ │ │ └── nodepool.yaml │ ├── dedicatedserver │ │ └── v1alpha1 │ │ │ └── serverupdate.yaml │ ├── storage │ │ └── v1alpha1 │ │ │ └── projectregionstoragepresign.yaml │ ├── vminstances │ │ └── v1alpha1 │ │ │ └── projectworkflowbackup.yaml │ ├── registry │ │ └── v1alpha1 │ │ │ ├── containerregistryuser.yaml │ │ │ └── containerregistry.yaml │ └── databases │ │ └── v1alpha1 │ │ ├── projectdatabasem3dbuser.yaml │ │ ├── projectdatabase.yaml │ │ ├── projectdatabaseuser.yaml │ │ ├── projectdatabasekafkaacl.yaml │ │ ├── projectdatabasepostgresqluser.yaml │ │ ├── projectdatabasedatabase.yaml │ │ ├── projectdatabaseopensearchpattern.yaml │ │ ├── projectdatabasemongodbuser.yaml │ │ ├── projectdatabasem3dbnamespace.yaml │ │ └── projectdatabaseiprestriction.yaml └── install.yaml ├── hack ├── boilerplate.go.txt └── fix.sh ├── .gitmodules ├── internal ├── controller │ ├── cluster │ │ └── doc.go │ └── namespaced │ │ └── doc.go └── version │ └── version.go ├── CODE_OF_CONDUCT.md ├── .github └── workflows │ ├── commands.yml │ ├── e2e.yaml │ └── tag.yaml ├── apis ├── cluster │ ├── doc.go │ ├── ovh │ │ └── v1alpha1 │ │ │ ├── zz_generated.conversion_hubs.go │ │ │ └── zz_generated.managedlist.go │ ├── okms │ │ └── v1alpha1 │ │ │ ├── zz_generated.conversion_hubs.go │ │ │ └── zz_generated.managedlist.go │ ├── clouddiskarray │ │ └── v1alpha1 │ │ │ ├── zz_generated.conversion_hubs.go │ │ │ └── zz_generated.managedlist.go │ ├── gateway │ │ └── v1alpha1 │ │ │ ├── zz_generated.conversion_hubs.go │ │ │ └── zz_generated.managedlist.go │ ├── v1beta1 │ │ ├── doc.go │ │ └── zz_generated.pculist.go │ ├── dedicated │ │ └── v1alpha1 │ │ │ ├── zz_generated.conversion_hubs.go │ │ │ └── zz_generated.managedlist.go │ ├── v1alpha1 │ │ ├── doc.go │ │ └── register.go │ ├── vminstances │ │ └── v1alpha1 │ │ │ ├── zz_generated.conversion_hubs.go │ │ │ └── zz_generated.managedlist.go │ ├── me │ │ └── v1alpha1 │ │ │ └── zz_generated.conversion_hubs.go │ ├── dedicatedserver │ │ └── v1alpha1 │ │ │ └── zz_generated.conversion_hubs.go │ ├── nas │ │ └── v1alpha1 │ │ │ └── zz_generated.conversion_hubs.go │ ├── kms │ │ └── v1alpha1 │ │ │ └── zz_generated.conversion_hubs.go │ ├── kube │ │ └── v1alpha1 │ │ │ └── zz_generated.conversion_hubs.go │ ├── network │ │ └── v1alpha1 │ │ │ └── zz_generated.conversion_hubs.go │ ├── iam │ │ └── v1alpha1 │ │ │ └── zz_generated.conversion_hubs.go │ ├── storage │ │ └── v1alpha1 │ │ │ └── zz_generated.conversion_hubs.go │ ├── privatesql │ │ └── v1alpha1 │ │ │ └── zz_generated.conversion_hubs.go │ └── registry │ │ └── v1alpha1 │ │ └── zz_generated.conversion_hubs.go └── namespaced │ ├── doc.go │ ├── ovh │ └── v1alpha1 │ │ ├── zz_generated.conversion_hubs.go │ │ └── zz_generated.managedlist.go │ ├── okms │ └── v1alpha1 │ │ ├── zz_generated.conversion_hubs.go │ │ └── zz_generated.managedlist.go │ ├── clouddiskarray │ └── v1alpha1 │ │ ├── zz_generated.conversion_hubs.go │ │ └── zz_generated.managedlist.go │ ├── gateway │ └── v1alpha1 │ │ ├── zz_generated.conversion_hubs.go │ │ └── zz_generated.managedlist.go │ ├── dedicated │ └── v1alpha1 │ │ ├── zz_generated.conversion_hubs.go │ │ └── zz_generated.managedlist.go │ ├── vminstances │ └── v1alpha1 │ │ ├── zz_generated.conversion_hubs.go │ │ └── zz_generated.managedlist.go │ ├── v1beta1 │ ├── doc.go │ └── zz_generated.pculist.go │ ├── v1alpha1 │ ├── doc.go │ └── register.go │ ├── me │ └── v1alpha1 │ │ └── zz_generated.conversion_hubs.go │ ├── dedicatedserver │ └── v1alpha1 │ │ └── zz_generated.conversion_hubs.go │ ├── nas │ └── v1alpha1 │ │ └── zz_generated.conversion_hubs.go │ ├── kms │ └── v1alpha1 │ │ └── zz_generated.conversion_hubs.go │ ├── kube │ └── v1alpha1 │ │ └── zz_generated.conversion_hubs.go │ ├── network │ └── v1alpha1 │ │ └── zz_generated.conversion_hubs.go │ ├── iam │ └── v1alpha1 │ │ └── zz_generated.conversion_hubs.go │ ├── storage │ └── v1alpha1 │ │ └── zz_generated.conversion_hubs.go │ ├── privatesql │ └── v1alpha1 │ │ └── zz_generated.conversion_hubs.go │ └── registry │ └── v1alpha1 │ └── zz_generated.conversion_hubs.go ├── .gitignore ├── cluster └── images │ └── provider-ovh │ └── terraformrc.hcl ├── config ├── cluster │ ├── vps │ │ └── config.go │ ├── cloud_disk_array │ │ └── config.go │ ├── vm_instances │ │ └── config.go │ ├── object_storage │ │ └── config.go │ └── nas │ │ └── config.go └── namespaced │ ├── vps │ └── config.go │ ├── cloud_disk_array │ └── config.go │ ├── vm_instances │ └── config.go │ ├── object_storage │ └── config.go │ └── nas │ └── config.go ├── examples-generated ├── cluster │ ├── cloud │ │ └── v1alpha1 │ │ │ ├── user.yaml │ │ │ ├── projectregion.yaml │ │ │ ├── projectrancher.yaml │ │ │ ├── projectinstancesnapshot.yaml │ │ │ ├── projectstorage.yaml │ │ │ ├── projectvolumebackup.yaml │ │ │ ├── plan.yaml │ │ │ ├── projectcontainerregistryiam.yaml │ │ │ ├── projectvolume.yaml │ │ │ ├── projectinstance.yaml │ │ │ ├── projectsshkey.yaml │ │ │ └── project.yaml │ ├── dns │ │ └── v1alpha1 │ │ │ ├── zonednssec.yaml │ │ │ ├── zonerecord.yaml │ │ │ ├── zonedynhostrecord.yaml │ │ │ ├── zoneredirection.yaml │ │ │ ├── nameservers.yaml │ │ │ ├── name.yaml │ │ │ ├── dsrecords.yaml │ │ │ └── zonedynhostlogin.yaml │ ├── logs │ │ └── v1alpha1 │ │ │ ├── logstoken.yaml │ │ │ ├── logsrole.yaml │ │ │ ├── logsoutputopensearchalias.yaml │ │ │ ├── logsoutputopensearchindex.yaml │ │ │ ├── logsrolepermissionstream.yaml │ │ │ └── logscluster.yaml │ ├── vrack │ │ └── v1alpha1 │ │ │ ├── cloudproject.yaml │ │ │ ├── dedicatedserver.yaml │ │ │ ├── iploadbalancing.yaml │ │ │ ├── ipv6.yaml │ │ │ ├── vrackservices.yaml │ │ │ ├── dedicatedcloud.yaml │ │ │ ├── ovhcloudconnect.yaml │ │ │ ├── dedicatedserverinterface.yaml │ │ │ ├── ipv6routedsubrange.yaml │ │ │ ├── dedicatedclouddatacenter.yaml │ │ │ ├── connectpopconfig.yaml │ │ │ ├── connectpopdatacenterconfig.yaml │ │ │ └── vrack.yaml │ ├── kms │ │ └── v1alpha1 │ │ │ ├── okms.yaml │ │ │ ├── servicekey.yaml │ │ │ └── credential.yaml │ ├── additionalip │ │ └── v1alpha1 │ │ │ ├── firewall.yaml │ │ │ ├── mitigation.yaml │ │ │ ├── move.yaml │ │ │ ├── reverse.yaml │ │ │ ├── firewallrule.yaml │ │ │ └── projectfailoveripattach.yaml │ ├── me │ │ └── v1alpha1 │ │ │ ├── group.yaml │ │ │ ├── oauth2client.yaml │ │ │ └── user.yaml │ ├── lb │ │ └── v1alpha1 │ │ │ ├── tcproute.yaml │ │ │ ├── httpfarm.yaml │ │ │ ├── tcpfarm.yaml │ │ │ ├── udpfarm.yaml │ │ │ ├── udpfrontend.yaml │ │ │ ├── httproute.yaml │ │ │ ├── ssl.yaml │ │ │ └── projectregionloadbalancerlogsubscription.yaml │ ├── privatesql │ │ └── v1alpha1 │ │ │ ├── privatedatabasedatabase.yaml │ │ │ ├── privatedatabaseusergrant.yaml │ │ │ ├── privatedatabasewhitelist.yaml │ │ │ └── privatedatabaseuser.yaml │ ├── nas │ │ └── v1alpha1 │ │ │ ├── nashapartition.yaml │ │ │ ├── nashapartitionsnapshot.yaml │ │ │ └── nashapartitionaccess.yaml │ ├── network │ │ └── v1alpha1 │ │ │ ├── privatenetwork.yaml │ │ │ ├── projectregionnetwork.yaml │ │ │ ├── subnet.yaml │ │ │ └── subnetv2.yaml │ ├── clouddiskarray │ │ └── v1alpha1 │ │ │ └── cephacl.yaml │ ├── storage │ │ └── v1alpha1 │ │ │ ├── efsshare.yaml │ │ │ └── projectregionstoragepresign.yaml │ ├── iam │ │ └── v1alpha1 │ │ │ ├── iamresourcegroup.yaml │ │ │ ├── iampermissionsgroup.yaml │ │ │ └── iamresourcetags.yaml │ ├── kube │ │ └── v1alpha1 │ │ │ ├── iprestriction.yaml │ │ │ └── nodepool.yaml │ ├── dedicated │ │ └── v1alpha1 │ │ │ └── serverreinstalltask.yaml │ ├── databases │ │ └── v1alpha1 │ │ │ ├── projectdatabasemongodbprometheus.yaml │ │ │ ├── projectdatabaseprometheus.yaml │ │ │ ├── projectdatabasem3dbuser.yaml │ │ │ ├── projectdatabase.yaml │ │ │ ├── projectdatabaseuser.yaml │ │ │ ├── projectdatabasekafkaacl.yaml │ │ │ ├── projectdatabasepostgresqluser.yaml │ │ │ ├── projectdatabaseopensearchpattern.yaml │ │ │ ├── projectdatabasedatabase.yaml │ │ │ ├── projectdatabasemongodbuser.yaml │ │ │ ├── projectdatabasem3dbnamespace.yaml │ │ │ └── projectdatabaseiprestriction.yaml │ ├── dedicatedserver │ │ └── v1alpha1 │ │ │ └── serverupdate.yaml │ ├── vminstances │ │ └── v1alpha1 │ │ │ └── projectworkflowbackup.yaml │ ├── registry │ │ └── v1alpha1 │ │ │ ├── containerregistryuser.yaml │ │ │ └── containerregistry.yaml │ └── okms │ │ └── v1alpha1 │ │ └── servicekeyjwk.yaml └── namespaced │ ├── cloud │ └── v1alpha1 │ │ ├── user.yaml │ │ ├── projectregion.yaml │ │ ├── projectrancher.yaml │ │ ├── projectinstancesnapshot.yaml │ │ ├── projectstorage.yaml │ │ ├── projectvolumebackup.yaml │ │ ├── plan.yaml │ │ ├── projectvolume.yaml │ │ ├── projectcontainerregistryiam.yaml │ │ ├── projectinstance.yaml │ │ └── projectsshkey.yaml │ ├── dns │ └── v1alpha1 │ │ ├── zonednssec.yaml │ │ ├── zonerecord.yaml │ │ ├── zonedynhostrecord.yaml │ │ ├── zoneredirection.yaml │ │ ├── nameservers.yaml │ │ ├── name.yaml │ │ ├── dsrecords.yaml │ │ └── zonedynhostlogin.yaml │ ├── logs │ └── v1alpha1 │ │ ├── logstoken.yaml │ │ ├── logsrole.yaml │ │ ├── logsoutputopensearchalias.yaml │ │ ├── logsoutputopensearchindex.yaml │ │ ├── logsrolepermissionstream.yaml │ │ └── logscluster.yaml │ ├── vrack │ └── v1alpha1 │ │ ├── cloudproject.yaml │ │ ├── dedicatedserver.yaml │ │ ├── iploadbalancing.yaml │ │ ├── vrackservices.yaml │ │ ├── ipv6.yaml │ │ ├── dedicatedcloud.yaml │ │ ├── dedicatedserverinterface.yaml │ │ ├── ovhcloudconnect.yaml │ │ ├── dedicatedclouddatacenter.yaml │ │ ├── ipv6routedsubrange.yaml │ │ ├── connectpopconfig.yaml │ │ └── connectpopdatacenterconfig.yaml │ ├── additionalip │ └── v1alpha1 │ │ ├── firewall.yaml │ │ ├── mitigation.yaml │ │ ├── move.yaml │ │ ├── reverse.yaml │ │ ├── projectfailoveripattach.yaml │ │ └── firewallrule.yaml │ ├── kms │ └── v1alpha1 │ │ ├── okms.yaml │ │ ├── servicekey.yaml │ │ └── credential.yaml │ ├── me │ └── v1alpha1 │ │ ├── group.yaml │ │ ├── user.yaml │ │ └── oauth2client.yaml │ ├── lb │ └── v1alpha1 │ │ ├── tcproute.yaml │ │ ├── httpfarm.yaml │ │ ├── tcpfarm.yaml │ │ ├── udpfarm.yaml │ │ ├── udpfrontend.yaml │ │ ├── ssl.yaml │ │ ├── httproute.yaml │ │ └── projectregionloadbalancerlogsubscription.yaml │ ├── nas │ └── v1alpha1 │ │ ├── nashapartition.yaml │ │ ├── nashapartitionsnapshot.yaml │ │ └── nashapartitionaccess.yaml │ ├── network │ └── v1alpha1 │ │ ├── privatenetwork.yaml │ │ ├── projectregionnetwork.yaml │ │ └── subnet.yaml │ ├── privatesql │ └── v1alpha1 │ │ ├── privatedatabasedatabase.yaml │ │ ├── privatedatabaseuser.yaml │ │ ├── privatedatabaseusergrant.yaml │ │ └── privatedatabasewhitelist.yaml │ ├── clouddiskarray │ └── v1alpha1 │ │ └── cephacl.yaml │ ├── storage │ └── v1alpha1 │ │ ├── efsshare.yaml │ │ └── projectregionstoragepresign.yaml │ ├── iam │ └── v1alpha1 │ │ ├── iamresourcegroup.yaml │ │ ├── iampermissionsgroup.yaml │ │ └── iamresourcetags.yaml │ ├── dedicated │ └── v1alpha1 │ │ └── serverreinstalltask.yaml │ ├── kube │ └── v1alpha1 │ │ ├── iprestriction.yaml │ │ └── nodepool.yaml │ ├── databases │ └── v1alpha1 │ │ ├── projectdatabasemongodbprometheus.yaml │ │ ├── projectdatabaseprometheus.yaml │ │ ├── projectdatabasem3dbuser.yaml │ │ ├── projectdatabase.yaml │ │ ├── projectdatabaseuser.yaml │ │ ├── projectdatabasekafkaacl.yaml │ │ ├── projectdatabasepostgresqluser.yaml │ │ ├── projectdatabasedatabase.yaml │ │ ├── projectdatabaseopensearchpattern.yaml │ │ ├── projectdatabasemongodbuser.yaml │ │ └── projectdatabasem3dbnamespace.yaml │ ├── dedicatedserver │ └── v1alpha1 │ │ └── serverupdate.yaml │ ├── vminstances │ └── v1alpha1 │ │ └── projectworkflowbackup.yaml │ ├── registry │ └── v1alpha1 │ │ └── containerregistryuser.yaml │ └── okms │ └── v1alpha1 │ └── servicekeyjwk.yaml ├── OWNERS.md ├── fix.sh ├── extensions ├── icons │ └── icon.svg └── sboms │ └── sbom.json └── cmd └── generator └── main.go /.tool-versions: -------------------------------------------------------------------------------- 1 | go mogolang 1.24.7 2 | terraform 1.12.2 3 | -------------------------------------------------------------------------------- /examples/cluster/providerconfig/.gitignore: -------------------------------------------------------------------------------- 1 | secret.yaml 2 | -------------------------------------------------------------------------------- /examples/namespaced/providerconfig/.gitignore: -------------------------------------------------------------------------------- 1 | secret.yaml 2 | -------------------------------------------------------------------------------- /hack/boilerplate.go.txt: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2022 Upbound Inc. 3 | */ -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "build"] 2 | path = build 3 | url = https://github.com/crossplane/build 4 | -------------------------------------------------------------------------------- /internal/controller/cluster/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2021 Upbound Inc. 3 | */ 4 | 5 | package controller 6 | -------------------------------------------------------------------------------- /internal/controller/namespaced/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2021 Upbound Inc. 3 | */ 4 | 5 | package controller 6 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | ## Code of Conduct 2 | 3 | Upjet is under [the Apache 2.0 license](LICENSE) with [notice](NOTICE). -------------------------------------------------------------------------------- /.github/workflows/commands.yml: -------------------------------------------------------------------------------- 1 | name: Comment Commands 2 | 3 | on: issue_comment 4 | 5 | jobs: 6 | comment-commands: 7 | uses: upbound/uptest/.github/workflows/provider-commands.yml@main 8 | -------------------------------------------------------------------------------- /apis/cluster/doc.go: -------------------------------------------------------------------------------- 1 | // Package cluster is a temporary placeholder to allow go mod tidy to succeed before code generation. 2 | // It will be replaced by generated registration code. 3 | package cluster 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /.cache 2 | /.work 3 | /_output 4 | cover.out 5 | /vendor 6 | /.vendor-new 7 | .DS_Store 8 | 9 | # ignore IDE folders 10 | .vscode/ 11 | .idea/ 12 | 13 | examples/providerconfig/secret.yaml -------------------------------------------------------------------------------- /apis/namespaced/doc.go: -------------------------------------------------------------------------------- 1 | // Package namespaced is a temporary placeholder to allow go mod tidy to succeed before code generation. 2 | // It will be replaced by generated registration code. 3 | package namespaced 4 | -------------------------------------------------------------------------------- /cluster/images/provider-ovh/terraformrc.hcl: -------------------------------------------------------------------------------- 1 | provider_installation { 2 | filesystem_mirror { 3 | path = "/terraform/provider-mirror" 4 | include = ["*/*"] 5 | } 6 | direct { 7 | exclude = ["*/*"] 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /apis/cluster/ovh/v1alpha1/zz_generated.conversion_hubs.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2022 Upbound Inc. 3 | */ 4 | 5 | // Code generated by upjet. DO NOT EDIT. 6 | 7 | package v1alpha1 8 | 9 | // Hub marks this type as a conversion hub. 10 | func (tr *Vps) Hub() {} 11 | -------------------------------------------------------------------------------- /apis/namespaced/ovh/v1alpha1/zz_generated.conversion_hubs.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2022 Upbound Inc. 3 | */ 4 | 5 | // Code generated by upjet. DO NOT EDIT. 6 | 7 | package v1alpha1 8 | 9 | // Hub marks this type as a conversion hub. 10 | func (tr *Vps) Hub() {} 11 | -------------------------------------------------------------------------------- /apis/cluster/okms/v1alpha1/zz_generated.conversion_hubs.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2022 Upbound Inc. 3 | */ 4 | 5 | // Code generated by upjet. DO NOT EDIT. 6 | 7 | package v1alpha1 8 | 9 | // Hub marks this type as a conversion hub. 10 | func (tr *ServiceKeyJwk) Hub() {} 11 | -------------------------------------------------------------------------------- /apis/cluster/clouddiskarray/v1alpha1/zz_generated.conversion_hubs.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2022 Upbound Inc. 3 | */ 4 | 5 | // Code generated by upjet. DO NOT EDIT. 6 | 7 | package v1alpha1 8 | 9 | // Hub marks this type as a conversion hub. 10 | func (tr *CephACL) Hub() {} 11 | -------------------------------------------------------------------------------- /apis/cluster/gateway/v1alpha1/zz_generated.conversion_hubs.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2022 Upbound Inc. 3 | */ 4 | 5 | // Code generated by upjet. DO NOT EDIT. 6 | 7 | package v1alpha1 8 | 9 | // Hub marks this type as a conversion hub. 10 | func (tr *ProjectGateway) Hub() {} 11 | -------------------------------------------------------------------------------- /apis/cluster/v1beta1/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2022 Upbound Inc. 3 | */ 4 | 5 | // Package v1beta1 contains the core resources of the ovh upjet provider. 6 | // +kubebuilder:object:generate=true 7 | // +groupName=ovh.edixos.io 8 | // +versionName=v1beta1 9 | package v1beta1 10 | -------------------------------------------------------------------------------- /apis/namespaced/okms/v1alpha1/zz_generated.conversion_hubs.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2022 Upbound Inc. 3 | */ 4 | 5 | // Code generated by upjet. DO NOT EDIT. 6 | 7 | package v1alpha1 8 | 9 | // Hub marks this type as a conversion hub. 10 | func (tr *ServiceKeyJwk) Hub() {} 11 | -------------------------------------------------------------------------------- /apis/cluster/dedicated/v1alpha1/zz_generated.conversion_hubs.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2022 Upbound Inc. 3 | */ 4 | 5 | // Code generated by upjet. DO NOT EDIT. 6 | 7 | package v1alpha1 8 | 9 | // Hub marks this type as a conversion hub. 10 | func (tr *ServerReinstallTask) Hub() {} 11 | -------------------------------------------------------------------------------- /apis/cluster/v1alpha1/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2021 Upbound Inc. 3 | */ 4 | 5 | // Package v1alpha1 contains the core resources of the ovh jet provider. 6 | // +kubebuilder:object:generate=true 7 | // +groupName=ovh.edixos.io 8 | // +versionName=v1alpha1 9 | package v1alpha1 10 | -------------------------------------------------------------------------------- /apis/namespaced/clouddiskarray/v1alpha1/zz_generated.conversion_hubs.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2022 Upbound Inc. 3 | */ 4 | 5 | // Code generated by upjet. DO NOT EDIT. 6 | 7 | package v1alpha1 8 | 9 | // Hub marks this type as a conversion hub. 10 | func (tr *CephACL) Hub() {} 11 | -------------------------------------------------------------------------------- /apis/namespaced/gateway/v1alpha1/zz_generated.conversion_hubs.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2022 Upbound Inc. 3 | */ 4 | 5 | // Code generated by upjet. DO NOT EDIT. 6 | 7 | package v1alpha1 8 | 9 | // Hub marks this type as a conversion hub. 10 | func (tr *ProjectGateway) Hub() {} 11 | -------------------------------------------------------------------------------- /config/cluster/vps/config.go: -------------------------------------------------------------------------------- 1 | package vps 2 | 3 | import "github.com/crossplane/upjet/v2/pkg/config" 4 | 5 | // Configure configures individual resources by adding custom ResourceConfigurators. 6 | func Configure(p *config.Provider) { 7 | p.SkipList = append(p.SkipList, "ovh_vps") 8 | } 9 | -------------------------------------------------------------------------------- /apis/cluster/vminstances/v1alpha1/zz_generated.conversion_hubs.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2022 Upbound Inc. 3 | */ 4 | 5 | // Code generated by upjet. DO NOT EDIT. 6 | 7 | package v1alpha1 8 | 9 | // Hub marks this type as a conversion hub. 10 | func (tr *ProjectWorkflowBackup) Hub() {} 11 | -------------------------------------------------------------------------------- /apis/namespaced/dedicated/v1alpha1/zz_generated.conversion_hubs.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2022 Upbound Inc. 3 | */ 4 | 5 | // Code generated by upjet. DO NOT EDIT. 6 | 7 | package v1alpha1 8 | 9 | // Hub marks this type as a conversion hub. 10 | func (tr *ServerReinstallTask) Hub() {} 11 | -------------------------------------------------------------------------------- /config/namespaced/vps/config.go: -------------------------------------------------------------------------------- 1 | package vps 2 | 3 | import "github.com/crossplane/upjet/v2/pkg/config" 4 | 5 | // Configure configures individual resources by adding custom ResourceConfigurators. 6 | func Configure(p *config.Provider) { 7 | p.SkipList = append(p.SkipList, "ovh_vps") 8 | } 9 | -------------------------------------------------------------------------------- /examples/cluster/me/sshkey.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: me.ovh.edixos.io/v1alpha1 2 | kind: SSHKey 3 | metadata: 4 | name: sshkey-sample 5 | spec: 6 | providerConfigRef: 7 | name: default 8 | forProvider: 9 | keyName: sshkey-sample 10 | key: | 11 | ssh-rsa sample ssh public key -------------------------------------------------------------------------------- /apis/namespaced/vminstances/v1alpha1/zz_generated.conversion_hubs.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2022 Upbound Inc. 3 | */ 4 | 5 | // Code generated by upjet. DO NOT EDIT. 6 | 7 | package v1alpha1 8 | 9 | // Hub marks this type as a conversion hub. 10 | func (tr *ProjectWorkflowBackup) Hub() {} 11 | -------------------------------------------------------------------------------- /examples/cluster/providerconfig/providerconfig.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: ovh.edixos.io/v1beta1 2 | kind: ProviderConfig 3 | metadata: 4 | name: default 5 | spec: 6 | credentials: 7 | source: Secret 8 | secretRef: 9 | name: provider-ovh 10 | namespace: crossplane-system 11 | key: credentials 12 | -------------------------------------------------------------------------------- /apis/namespaced/v1beta1/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2022 Upbound Inc. 3 | */ 4 | 5 | // Package v1beta1 contains the core resources of the ovh upjet provider. 6 | // +kubebuilder:object:generate=true 7 | // +groupName=ovh.m.edixos.io 8 | // +versionName=v1beta1 9 | // +k8s:deepcopy-gen=package,register 10 | package v1beta1 11 | -------------------------------------------------------------------------------- /apis/namespaced/v1alpha1/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2021 Upbound Inc. 3 | */ 4 | 5 | // Package v1alpha1 contains the core resources of the ovh jet provider. 6 | // +kubebuilder:object:generate=true 7 | // +kubebuilder:resource:scope=Namespaced 8 | // +groupName=ovh.m.edixos.io 9 | // +versionName=v1alpha1 10 | package v1alpha1 11 | -------------------------------------------------------------------------------- /examples-generated/cluster/cloud/v1alpha1/user.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: cloud.ovh.edixos.io/v1alpha1 2 | kind: User 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: cloud/v1alpha1/user 6 | labels: 7 | testing.upbound.io/example-name: user1 8 | name: user1 9 | spec: 10 | forProvider: 11 | serviceName: XXX 12 | -------------------------------------------------------------------------------- /examples/namespaced/providerconfig/clusterproviderconfig.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: ovh.m.edixos.io/v1beta1 2 | kind: ClusterProviderConfig 3 | metadata: 4 | name: default 5 | spec: 6 | credentials: 7 | source: Secret 8 | secretRef: 9 | name: provider-ovh 10 | namespace: crossplane-system 11 | key: credentials 12 | -------------------------------------------------------------------------------- /examples/namespaced/providerconfig/providerconfig.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: ovh.m.edixos.io/v1beta1 2 | kind: ProviderConfig 3 | metadata: 4 | name: default 5 | namespace: default 6 | spec: 7 | credentials: 8 | source: Secret 9 | secretRef: 10 | name: provider-ovh 11 | namespace: default 12 | key: credentials 13 | -------------------------------------------------------------------------------- /examples-generated/cluster/dns/v1alpha1/zonednssec.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dns.ovh.edixos.io/v1alpha1 2 | kind: ZoneDNSSEC 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: dns/v1alpha1/zonednssec 6 | labels: 7 | testing.upbound.io/example-name: dnssec 8 | name: dnssec 9 | spec: 10 | forProvider: 11 | zoneName: mysite.ovh 12 | -------------------------------------------------------------------------------- /examples/cluster/cloud/user.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: cloud.ovh.edixos.io/v1alpha1 2 | kind: User 3 | metadata: 4 | name: hello-edixos 5 | spec: 6 | providerConfigRef: 7 | name: default 8 | forProvider: 9 | serviceName: 980cbcf06e6a4e6e8a91a7d125b26bba 10 | writeConnectionSecretToRef: 11 | name: user-credentials 12 | namespace: default -------------------------------------------------------------------------------- /examples/cluster/me/group.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: me.ovh.edixos.io/v1alpha1 2 | kind: Group 3 | metadata: 4 | name: edixos-admins 5 | spec: 6 | providerConfigRef: 7 | name: default 8 | forProvider: 9 | description: "edixos administrators" 10 | name: "edixos-admins" 11 | role: ADMIN # Valid roles are ADMIN, REGULAR, UNPRIVILEGED, and NONE. -------------------------------------------------------------------------------- /examples/namespaced/cloud/v1alpha1/user.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: cloud.ovh.m.edixos.io/v1alpha1 2 | kind: User 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: cloud/v1alpha1/user 6 | labels: 7 | testing.upbound.io/example-name: user1 8 | name: user1 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | serviceName: XXX 13 | -------------------------------------------------------------------------------- /examples/cluster/iam/iamresourcegroup.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: iam.ovh.edixos.io/v1alpha1 2 | kind: IAMResourceGroup 3 | metadata: 4 | name: vps-allow-all 5 | spec: 6 | providerConfigRef: 7 | name: default 8 | forProvider: 9 | name: "vps-allow-all" 10 | resources: 11 | - urn:v1:eu:resource:publicCloudProject:980cbcf06e6a4e6e8a91a7d125b26bba 12 | 13 | -------------------------------------------------------------------------------- /.github/workflows/e2e.yaml: -------------------------------------------------------------------------------- 1 | name: End to End Testing 2 | 3 | on: 4 | issue_comment: 5 | types: [created] 6 | 7 | jobs: 8 | e2e: 9 | uses: upbound/uptest/.github/workflows/pr-comment-trigger.yml@main 10 | secrets: 11 | UPTEST_CLOUD_CREDENTIALS: ${{ secrets.UPTEST_CLOUD_CREDENTIALS }} 12 | UPTEST_DATASOURCE: ${{ secrets.UPTEST_DATASOURCE }} 13 | -------------------------------------------------------------------------------- /examples-generated/namespaced/cloud/v1alpha1/user.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: cloud.ovh.m.edixos.io/v1alpha1 2 | kind: User 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: cloud/v1alpha1/user 6 | labels: 7 | testing.upbound.io/example-name: user1 8 | name: user1 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | serviceName: XXX 13 | -------------------------------------------------------------------------------- /examples/cluster/kubernetes/iprestriction.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kube.ovh.edixos.io/v1alpha1 2 | kind: IpRestriction 3 | metadata: 4 | name: hello-edixos 5 | spec: 6 | providerConfigRef: 7 | name: default 8 | forProvider: 9 | serviceName: 980cbcf06e6a4e6e8a91a7d125b26bba 10 | ips: 11 | - 86.245.54.92/32 12 | kubeIdRef: 13 | name: hello-edixos -------------------------------------------------------------------------------- /examples/cluster/providerconfig/secret.yaml.tmpl: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Secret 3 | metadata: 4 | name: example-creds 5 | namespace: crossplane-system 6 | type: Opaque 7 | stringData: 8 | credentials: | 9 | { 10 | "endpoint": "ovh-eu", 11 | "application_key": "*****", 12 | "application_secret": "*****", 13 | "consumer_key": "****" 14 | } -------------------------------------------------------------------------------- /examples/namespaced/dns/v1alpha1/zonednssec.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dns.ovh.m.edixos.io/v1alpha1 2 | kind: ZoneDNSSEC 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: dns/v1alpha1/zonednssec 6 | labels: 7 | testing.upbound.io/example-name: dnssec 8 | name: dnssec 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | zoneName: mysite.ovh 13 | -------------------------------------------------------------------------------- /examples/namespaced/providerconfig/secret.yaml.tmpl: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Secret 3 | metadata: 4 | name: example-creds 5 | namespace: crossplane-system 6 | type: Opaque 7 | stringData: 8 | credentials: | 9 | { 10 | "endpoint": "ovh-eu", 11 | "application_key": "*****", 12 | "application_secret": "*****", 13 | "consumer_key": "****" 14 | } -------------------------------------------------------------------------------- /internal/version/version.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2024 The Crossplane Authors 2 | // 3 | // SPDX-License-Identifier: Apache-2.0 4 | 5 | // Package version contains the version of provider-aws repo 6 | package version 7 | 8 | // Version will be overridden with the current version at build time using the -X linker flag 9 | var Version = "0.0.0" 10 | -------------------------------------------------------------------------------- /examples-generated/cluster/logs/v1alpha1/logstoken.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: logs.ovh.edixos.io/v1alpha1 2 | kind: LogsToken 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: logs/v1alpha1/logstoken 6 | labels: 7 | testing.upbound.io/example-name: token 8 | name: token 9 | spec: 10 | forProvider: 11 | name: ExampleToken 12 | serviceName: ldp-xx-xxxxx 13 | -------------------------------------------------------------------------------- /examples-generated/cluster/vrack/v1alpha1/cloudproject.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: vrack.ovh.edixos.io/v1alpha1 2 | kind: Cloudproject 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: vrack/v1alpha1/cloudproject 6 | labels: 7 | testing.upbound.io/example-name: vcp 8 | name: vcp 9 | spec: 10 | forProvider: 11 | projectId: "67890" 12 | serviceName: "12345" 13 | -------------------------------------------------------------------------------- /examples/cluster/network/privatenetwork.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: network.ovh.edixos.io/v1alpha1 2 | kind: PrivateNetwork 3 | metadata: 4 | name: sample-1 5 | labels: 6 | managed-by: crossplane 7 | spec: 8 | providerConfigRef: 9 | name: default 10 | forProvider: 11 | name: sample-1 12 | serviceName: 980cbcf06e6a4e6e8a91a7d125b26bba 13 | regions: 14 | - DE1 15 | -------------------------------------------------------------------------------- /examples-generated/cluster/vrack/v1alpha1/dedicatedserver.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: vrack.ovh.edixos.io/v1alpha1 2 | kind: DedicatedServer 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: vrack/v1alpha1/dedicatedserver 6 | labels: 7 | testing.upbound.io/example-name: vds 8 | name: vds 9 | spec: 10 | forProvider: 11 | serverId: "67890" 12 | serviceName: XXXX 13 | -------------------------------------------------------------------------------- /examples-generated/namespaced/dns/v1alpha1/zonednssec.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dns.ovh.m.edixos.io/v1alpha1 2 | kind: ZoneDNSSEC 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: dns/v1alpha1/zonednssec 6 | labels: 7 | testing.upbound.io/example-name: dnssec 8 | name: dnssec 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | zoneName: mysite.ovh 13 | -------------------------------------------------------------------------------- /examples-generated/cluster/vrack/v1alpha1/iploadbalancing.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: vrack.ovh.edixos.io/v1alpha1 2 | kind: Iploadbalancing 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: vrack/v1alpha1/iploadbalancing 6 | labels: 7 | testing.upbound.io/example-name: viplb 8 | name: viplb 9 | spec: 10 | forProvider: 11 | ipLoadbalancing: yyy 12 | serviceName: xxx 13 | -------------------------------------------------------------------------------- /config/cluster/cloud_disk_array/config.go: -------------------------------------------------------------------------------- 1 | package cloud_disk_array 2 | 3 | import "github.com/crossplane/upjet/v2/pkg/config" 4 | 5 | // Configure configures individual resources by adding custom ResourceConfigurators. 6 | func Configure(p *config.Provider) { 7 | p.AddResourceConfigurator("ovh_dedicated_ceph_acl", func(r *config.Resource) { 8 | r.ShortGroup = "clouddiskarray" 9 | }) 10 | } 11 | -------------------------------------------------------------------------------- /config/cluster/vm_instances/config.go: -------------------------------------------------------------------------------- 1 | package vm_instances 2 | 3 | import "github.com/crossplane/upjet/v2/pkg/config" 4 | 5 | // Configure configures individual resources by adding custom ResourceConfigurators. 6 | func Configure(p *config.Provider) { 7 | p.AddResourceConfigurator("ovh_cloud_project_workflow_backup", func(r *config.Resource) { 8 | r.ShortGroup = "vminstances" 9 | }) 10 | } 11 | -------------------------------------------------------------------------------- /examples-generated/cluster/kms/v1alpha1/okms.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kms.ovh.edixos.io/v1alpha1 2 | kind: Okms 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: kms/v1alpha1/okms 6 | labels: 7 | testing.upbound.io/example-name: new_kms 8 | name: new-kms 9 | spec: 10 | forProvider: 11 | displayName: terraformed KMS 12 | ovhSubsidiary: FR 13 | region: eu-west-rbx 14 | -------------------------------------------------------------------------------- /examples/cluster/databases/privatenetwork.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: network.ovh.edixos.io/v1alpha1 2 | kind: PrivateNetwork 3 | metadata: 4 | name: sample-1 5 | labels: 6 | managed-by: crossplane 7 | spec: 8 | providerConfigRef: 9 | name: default 10 | forProvider: 11 | name: sample-1 12 | serviceName: 21658141411b4c9bb0bf863be8e8c369 13 | regions: 14 | - GRA11 15 | 16 | 17 | -------------------------------------------------------------------------------- /examples/cluster/gateway/privatenetwork.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: network.ovh.edixos.io/v1alpha1 2 | kind: PrivateNetwork 3 | metadata: 4 | name: gateway-sample-1 5 | labels: 6 | managed-by: crossplane 7 | spec: 8 | providerConfigRef: 9 | name: default 10 | forProvider: 11 | name: gateway-sample-1 12 | serviceName: 980cbcf06e6a4e6e8a91a7d125b26bba 13 | regions: 14 | - DE1 15 | -------------------------------------------------------------------------------- /config/namespaced/cloud_disk_array/config.go: -------------------------------------------------------------------------------- 1 | package cloud_disk_array 2 | 3 | import "github.com/crossplane/upjet/v2/pkg/config" 4 | 5 | // Configure configures individual resources by adding custom ResourceConfigurators. 6 | func Configure(p *config.Provider) { 7 | p.AddResourceConfigurator("ovh_dedicated_ceph_acl", func(r *config.Resource) { 8 | r.ShortGroup = "clouddiskarray" 9 | }) 10 | } 11 | -------------------------------------------------------------------------------- /config/namespaced/vm_instances/config.go: -------------------------------------------------------------------------------- 1 | package vm_instances 2 | 3 | import "github.com/crossplane/upjet/v2/pkg/config" 4 | 5 | // Configure configures individual resources by adding custom ResourceConfigurators. 6 | func Configure(p *config.Provider) { 7 | p.AddResourceConfigurator("ovh_cloud_project_workflow_backup", func(r *config.Resource) { 8 | r.ShortGroup = "vminstances" 9 | }) 10 | } 11 | -------------------------------------------------------------------------------- /examples-generated/cluster/additionalip/v1alpha1/firewall.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: additionalip.ovh.edixos.io/v1alpha1 2 | kind: Firewall 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: additionalip/v1alpha1/firewall 6 | labels: 7 | testing.upbound.io/example-name: my_firewall 8 | name: my-firewall 9 | spec: 10 | forProvider: 11 | ip: XXXXXX 12 | ipOnFirewall: XXXXXX 13 | -------------------------------------------------------------------------------- /examples-generated/cluster/logs/v1alpha1/logsrole.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: logs.ovh.edixos.io/v1alpha1 2 | kind: LogsRole 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: logs/v1alpha1/logsrole 6 | labels: 7 | testing.upbound.io/example-name: ro 8 | name: ro 9 | spec: 10 | forProvider: 11 | description: Devops - RO 12 | name: Devops - RO 13 | serviceName: ldp-xx-xxxxx 14 | -------------------------------------------------------------------------------- /examples-generated/cluster/me/v1alpha1/group.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: me.ovh.edixos.io/v1alpha1 2 | kind: Group 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: me/v1alpha1/group 6 | labels: 7 | testing.upbound.io/example-name: my_group 8 | name: my-group 9 | spec: 10 | forProvider: 11 | description: Some custom description 12 | name: my_group_name 13 | role: NONE 14 | -------------------------------------------------------------------------------- /examples/cluster/cloud/s3/s3user.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: cloud.ovh.edixos.io/v1alpha1 2 | kind: User 3 | metadata: 4 | name: s3-user 5 | spec: 6 | providerConfigRef: 7 | name: default 8 | forProvider: 9 | serviceName: 980cbcf06e6a4e6e8a91a7d125b26bba 10 | roleNames: 11 | - objectstore_operator 12 | writeConnectionSecretToRef: 13 | name: user-credentials 14 | namespace: default -------------------------------------------------------------------------------- /examples-generated/cluster/additionalip/v1alpha1/mitigation.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: additionalip.ovh.edixos.io/v1alpha1 2 | kind: Mitigation 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: additionalip/v1alpha1/mitigation 6 | labels: 7 | testing.upbound.io/example-name: mitigation 8 | name: mitigation 9 | spec: 10 | forProvider: 11 | ip: XXXXXX 12 | ipOnMitigation: XXXXXX 13 | -------------------------------------------------------------------------------- /examples/namespaced/logs/v1alpha1/logstoken.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: logs.ovh.m.edixos.io/v1alpha1 2 | kind: LogsToken 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: logs/v1alpha1/logstoken 6 | labels: 7 | testing.upbound.io/example-name: token 8 | name: token 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | name: ExampleToken 13 | serviceName: ldp-xx-xxxxx 14 | -------------------------------------------------------------------------------- /examples/cluster/cloud/s3/s3creds.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: cloud.ovh.edixos.io/v1alpha1 2 | kind: S3Credentials 3 | metadata: 4 | name: s3-user-credentials 5 | spec: 6 | providerConfigRef: 7 | name: default 8 | forProvider: 9 | serviceName: 980cbcf06e6a4e6e8a91a7d125b26bba 10 | userIdRef: 11 | name: s3-user 12 | writeConnectionSecretToRef: 13 | name: s3-credentials 14 | namespace: default -------------------------------------------------------------------------------- /examples/namespaced/vrack/v1alpha1/cloudproject.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: vrack.ovh.m.edixos.io/v1alpha1 2 | kind: Cloudproject 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: vrack/v1alpha1/cloudproject 6 | labels: 7 | testing.upbound.io/example-name: vcp 8 | name: vcp 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | projectId: "67890" 13 | serviceName: "12345" 14 | -------------------------------------------------------------------------------- /examples-generated/cluster/cloud/v1alpha1/projectregion.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: cloud.ovh.edixos.io/v1alpha1 2 | kind: ProjectRegion 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: cloud/v1alpha1/projectregion 6 | labels: 7 | testing.upbound.io/example-name: region 8 | name: region 9 | spec: 10 | forProvider: 11 | region: EU-WEST-LZ-LUX-A 12 | serviceName: 13 | -------------------------------------------------------------------------------- /examples-generated/namespaced/logs/v1alpha1/logstoken.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: logs.ovh.m.edixos.io/v1alpha1 2 | kind: LogsToken 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: logs/v1alpha1/logstoken 6 | labels: 7 | testing.upbound.io/example-name: token 8 | name: token 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | name: ExampleToken 13 | serviceName: ldp-xx-xxxxx 14 | -------------------------------------------------------------------------------- /examples/namespaced/vrack/v1alpha1/dedicatedserver.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: vrack.ovh.m.edixos.io/v1alpha1 2 | kind: DedicatedServer 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: vrack/v1alpha1/dedicatedserver 6 | labels: 7 | testing.upbound.io/example-name: vds 8 | name: vds 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | serverId: "67890" 13 | serviceName: XXXX 14 | -------------------------------------------------------------------------------- /examples-generated/namespaced/vrack/v1alpha1/cloudproject.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: vrack.ovh.m.edixos.io/v1alpha1 2 | kind: Cloudproject 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: vrack/v1alpha1/cloudproject 6 | labels: 7 | testing.upbound.io/example-name: vcp 8 | name: vcp 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | projectId: "67890" 13 | serviceName: "12345" 14 | -------------------------------------------------------------------------------- /examples/cluster/kubernetes/cluster.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kube.ovh.edixos.io/v1alpha1 2 | kind: Cluster 3 | metadata: 4 | name: hello-edixos 5 | spec: 6 | providerConfigRef: 7 | name: default 8 | forProvider: 9 | name: "hello-edixos" 10 | privateNetworkIdRef: 11 | name: sample-1 12 | nodesSubnetIdRef: 13 | name: subnet-1 14 | region: DE1 15 | serviceName: 980cbcf06e6a4e6e8a91a7d125b26bba -------------------------------------------------------------------------------- /examples/namespaced/vrack/v1alpha1/iploadbalancing.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: vrack.ovh.m.edixos.io/v1alpha1 2 | kind: Iploadbalancing 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: vrack/v1alpha1/iploadbalancing 6 | labels: 7 | testing.upbound.io/example-name: viplb 8 | name: viplb 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | ipLoadbalancing: yyy 13 | serviceName: xxx 14 | -------------------------------------------------------------------------------- /OWNERS.md: -------------------------------------------------------------------------------- 1 | # OWNERS 2 | 3 | This page lists all maintainers for **this** repository. Each repository in the [Upbound 4 | organization](https://github.com/upbound/) will list their repository maintainers in their own 5 | `OWNERS.md` file. 6 | 7 | 8 | ## Maintainers 9 | 10 | * Ismail KABOUBI ([smileisak](https://github.com/smileisak)) 11 | 12 | See [CODEOWNERS](./CODEOWNERS) for automatic PR assignment. 13 | -------------------------------------------------------------------------------- /examples-generated/namespaced/vrack/v1alpha1/dedicatedserver.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: vrack.ovh.m.edixos.io/v1alpha1 2 | kind: DedicatedServer 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: vrack/v1alpha1/dedicatedserver 6 | labels: 7 | testing.upbound.io/example-name: vds 8 | name: vds 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | serverId: "67890" 13 | serviceName: XXXX 14 | -------------------------------------------------------------------------------- /examples/namespaced/additionalip/v1alpha1/firewall.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: additionalip.ovh.m.edixos.io/v1alpha1 2 | kind: Firewall 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: additionalip/v1alpha1/firewall 6 | labels: 7 | testing.upbound.io/example-name: my_firewall 8 | name: my-firewall 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | ip: XXXXXX 13 | ipOnFirewall: XXXXXX 14 | -------------------------------------------------------------------------------- /examples/namespaced/me/v1alpha1/group.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: me.ovh.m.edixos.io/v1alpha1 2 | kind: Group 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: me/v1alpha1/group 6 | labels: 7 | testing.upbound.io/example-name: my_group 8 | name: my-group 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | description: Some custom description 13 | name: my_group_name 14 | role: NONE 15 | -------------------------------------------------------------------------------- /examples-generated/cluster/dns/v1alpha1/zonerecord.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dns.ovh.edixos.io/v1alpha1 2 | kind: ZoneRecord 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: dns/v1alpha1/zonerecord 6 | labels: 7 | testing.upbound.io/example-name: test 8 | name: test 9 | spec: 10 | forProvider: 11 | fieldtype: A 12 | subdomain: test 13 | target: 0.0.0.0 14 | ttl: 3600 15 | zone: testdemo.ovh 16 | -------------------------------------------------------------------------------- /examples-generated/cluster/lb/v1alpha1/tcproute.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: lb.ovh.edixos.io/v1alpha1 2 | kind: TCPRoute 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: lb/v1alpha1/tcproute 6 | labels: 7 | testing.upbound.io/example-name: tcp_reject 8 | name: tcp-reject 9 | spec: 10 | forProvider: 11 | action: 12 | - type: reject 13 | serviceName: loadbalancer-xxxxxxxxxxxxxxxxxx 14 | weight: 1 15 | -------------------------------------------------------------------------------- /examples-generated/namespaced/vrack/v1alpha1/iploadbalancing.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: vrack.ovh.m.edixos.io/v1alpha1 2 | kind: Iploadbalancing 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: vrack/v1alpha1/iploadbalancing 6 | labels: 7 | testing.upbound.io/example-name: viplb 8 | name: viplb 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | ipLoadbalancing: yyy 13 | serviceName: xxx 14 | -------------------------------------------------------------------------------- /examples/namespaced/additionalip/v1alpha1/mitigation.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: additionalip.ovh.m.edixos.io/v1alpha1 2 | kind: Mitigation 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: additionalip/v1alpha1/mitigation 6 | labels: 7 | testing.upbound.io/example-name: mitigation 8 | name: mitigation 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | ip: XXXXXX 13 | ipOnMitigation: XXXXXX 14 | -------------------------------------------------------------------------------- /apis/cluster/me/v1alpha1/zz_generated.conversion_hubs.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2022 Upbound Inc. 3 | */ 4 | 5 | // Code generated by upjet. DO NOT EDIT. 6 | 7 | package v1alpha1 8 | 9 | // Hub marks this type as a conversion hub. 10 | func (tr *Group) Hub() {} 11 | 12 | // Hub marks this type as a conversion hub. 13 | func (tr *Oauth2Client) Hub() {} 14 | 15 | // Hub marks this type as a conversion hub. 16 | func (tr *User) Hub() {} 17 | -------------------------------------------------------------------------------- /apis/namespaced/me/v1alpha1/zz_generated.conversion_hubs.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2022 Upbound Inc. 3 | */ 4 | 5 | // Code generated by upjet. DO NOT EDIT. 6 | 7 | package v1alpha1 8 | 9 | // Hub marks this type as a conversion hub. 10 | func (tr *Group) Hub() {} 11 | 12 | // Hub marks this type as a conversion hub. 13 | func (tr *Oauth2Client) Hub() {} 14 | 15 | // Hub marks this type as a conversion hub. 16 | func (tr *User) Hub() {} 17 | -------------------------------------------------------------------------------- /examples-generated/cluster/dns/v1alpha1/zonedynhostrecord.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dns.ovh.edixos.io/v1alpha1 2 | kind: ZoneDynhostRecord 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: dns/v1alpha1/zonedynhostrecord 6 | labels: 7 | testing.upbound.io/example-name: dynhost_record 8 | name: dynhost-record 9 | spec: 10 | forProvider: 11 | ip: 1.2.3.4 12 | subDomain: dynhost 13 | zoneName: mydomain.ovh 14 | -------------------------------------------------------------------------------- /examples-generated/cluster/lb/v1alpha1/httpfarm.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: lb.ovh.edixos.io/v1alpha1 2 | kind: HTTPFarm 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: lb/v1alpha1/httpfarm 6 | labels: 7 | testing.upbound.io/example-name: farmname 8 | name: farmname 9 | spec: 10 | forProvider: 11 | displayName: ingress-8080-gra 12 | serviceName: ${data.ovh_iploadbalancing.lb.service_name} 13 | zone: GRA 14 | -------------------------------------------------------------------------------- /examples-generated/cluster/lb/v1alpha1/tcpfarm.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: lb.ovh.edixos.io/v1alpha1 2 | kind: TCPFarm 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: lb/v1alpha1/tcpfarm 6 | labels: 7 | testing.upbound.io/example-name: farm_name 8 | name: farm-name 9 | spec: 10 | forProvider: 11 | displayName: ingress-8080-gra 12 | serviceName: ${data.ovh_iploadbalancing.lb.service_name} 13 | zone: GRA 14 | -------------------------------------------------------------------------------- /examples-generated/namespaced/additionalip/v1alpha1/firewall.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: additionalip.ovh.m.edixos.io/v1alpha1 2 | kind: Firewall 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: additionalip/v1alpha1/firewall 6 | labels: 7 | testing.upbound.io/example-name: my_firewall 8 | name: my-firewall 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | ip: XXXXXX 13 | ipOnFirewall: XXXXXX 14 | -------------------------------------------------------------------------------- /examples-generated/namespaced/kms/v1alpha1/okms.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kms.ovh.m.edixos.io/v1alpha1 2 | kind: Okms 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: kms/v1alpha1/okms 6 | labels: 7 | testing.upbound.io/example-name: new_kms 8 | name: new-kms 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | displayName: terraformed KMS 13 | ovhSubsidiary: FR 14 | region: eu-west-rbx 15 | -------------------------------------------------------------------------------- /examples-generated/namespaced/me/v1alpha1/group.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: me.ovh.m.edixos.io/v1alpha1 2 | kind: Group 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: me/v1alpha1/group 6 | labels: 7 | testing.upbound.io/example-name: my_group 8 | name: my-group 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | description: Some custom description 13 | name: my_group_name 14 | role: NONE 15 | -------------------------------------------------------------------------------- /fix.sh: -------------------------------------------------------------------------------- 1 | find .work/ovh/ovh/website/docs/{d,r} -name '*.markdown' | while read f; do 2 | 3 | name=$(basename $f | sed -e 's#.markdown##g' -e 's#.html.markdown##g') 4 | cat > temp < 14 | -------------------------------------------------------------------------------- /examples/cluster/configuration/examples/edixos_cluster.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: workloads.edixos.io/v1alpha1 2 | kind: EdixosCluster 3 | metadata: 4 | name: dev-cluster 5 | namespace: default 6 | spec: 7 | serviceName: 980cbcf06e6a4e6e8a91a7d125b26bba 8 | region: DE1 9 | version: "1.28" 10 | nodePool: 11 | flavorName: b2-7 12 | desiredNodes: 1 13 | maxNodes: 1 14 | minNodes: 1 15 | masterAuthorizedNetworks: 16 | - 86.245.54.92/32 -------------------------------------------------------------------------------- /examples-generated/cluster/additionalip/v1alpha1/move.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: additionalip.ovh.edixos.io/v1alpha1 2 | kind: Move 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: additionalip/v1alpha1/move 6 | labels: 7 | testing.upbound.io/example-name: move_ip_to_load_balancer_xxxxx 8 | name: move-ip-to-load-balancer-xxxxx 9 | spec: 10 | forProvider: 11 | ip: 1.2.3.4 12 | routedTo: 13 | - serviceName: loadbalancer-XXXXX 14 | -------------------------------------------------------------------------------- /examples-generated/cluster/additionalip/v1alpha1/reverse.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: additionalip.ovh.edixos.io/v1alpha1 2 | kind: Reverse 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: additionalip/v1alpha1/reverse 6 | labels: 7 | testing.upbound.io/example-name: test 8 | name: test 9 | spec: 10 | forProvider: 11 | ip: 192.0.2.0/24 12 | ipReverse: 192.0.2.1 13 | readinessTimeoutDuration: 1m 14 | reverse: example.com 15 | -------------------------------------------------------------------------------- /examples-generated/cluster/cloud/v1alpha1/projectrancher.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: cloud.ovh.edixos.io/v1alpha1 2 | kind: ProjectRancher 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: cloud/v1alpha1/projectrancher 6 | labels: 7 | testing.upbound.io/example-name: rancher 8 | name: rancher 9 | spec: 10 | forProvider: 11 | projectId: 12 | targetSpec: 13 | name: MyRancher 14 | plan: STANDARD 15 | -------------------------------------------------------------------------------- /examples-generated/cluster/lb/v1alpha1/udpfarm.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: lb.ovh.edixos.io/v1alpha1 2 | kind: UDPFarm 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: lb/v1alpha1/udpfarm 6 | labels: 7 | testing.upbound.io/example-name: farm_name 8 | name: farm-name 9 | spec: 10 | forProvider: 11 | displayName: ingress-8080-gra 12 | port: 80 13 | serviceName: ${data.ovh_iploadbalancing.lb.service_name} 14 | zone: gra 15 | -------------------------------------------------------------------------------- /examples-generated/cluster/logs/v1alpha1/logsoutputopensearchalias.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: logs.ovh.edixos.io/v1alpha1 2 | kind: LogsOutputOpensearchAlias 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: logs/v1alpha1/logsoutputopensearchalias 6 | labels: 7 | testing.upbound.io/example-name: alias 8 | name: alias 9 | spec: 10 | forProvider: 11 | description: my opensearch alias 12 | serviceName: '....' 13 | suffix: alias 14 | -------------------------------------------------------------------------------- /examples-generated/cluster/logs/v1alpha1/logsoutputopensearchindex.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: logs.ovh.edixos.io/v1alpha1 2 | kind: LogsOutputOpensearchIndex 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: logs/v1alpha1/logsoutputopensearchindex 6 | labels: 7 | testing.upbound.io/example-name: index 8 | name: index 9 | spec: 10 | forProvider: 11 | description: my opensearch index 12 | serviceName: '....' 13 | suffix: index 14 | -------------------------------------------------------------------------------- /examples-generated/cluster/nas/v1alpha1/nashapartitionsnapshot.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: nas.ovh.edixos.io/v1alpha1 2 | kind: NashaPartitionSnapshot 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: nas/v1alpha1/nashapartitionsnapshot 6 | labels: 7 | testing.upbound.io/example-name: my_partition 8 | name: my-partition 9 | spec: 10 | forProvider: 11 | partitionName: my-partition 12 | serviceName: zpool-12345 13 | type: day-3 14 | -------------------------------------------------------------------------------- /examples-generated/cluster/vrack/v1alpha1/ipv6.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: vrack.ovh.edixos.io/v1alpha1 2 | kind: IPv6 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: vrack/v1alpha1/ipv6 6 | labels: 7 | testing.upbound.io/example-name: vrack_block_v6 8 | name: vrack-block-v6 9 | spec: 10 | forProvider: 11 | block: 12 | bridgedSubrange: 13 | - slaac: 14 | serviceName: 15 | -------------------------------------------------------------------------------- /examples-generated/cluster/vrack/v1alpha1/vrackservices.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: vrack.ovh.edixos.io/v1alpha1 2 | kind: Vrackservices 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: vrack/v1alpha1/vrackservices 6 | labels: 7 | testing.upbound.io/example-name: vrack_vrackservices 8 | name: vrack-vrackservices 9 | spec: 10 | forProvider: 11 | serviceName: 12 | vrackServices: 13 | -------------------------------------------------------------------------------- /examples/cluster/configuration/examples/edixos_cluster-2.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: workloads.edixos.io/v1alpha1 2 | kind: EdixosCluster 3 | metadata: 4 | name: dev-cluster-2 5 | namespace: default 6 | spec: 7 | serviceName: 980cbcf06e6a4e6e8a91a7d125b26bba 8 | region: DE1 9 | version: "1.28" 10 | nodePool: 11 | flavorName: b2-7 12 | desiredNodes: 1 13 | maxNodes: 1 14 | minNodes: 1 15 | masterAuthorizedNetworks: 16 | - 86.245.54.92/32 -------------------------------------------------------------------------------- /config/cluster/object_storage/config.go: -------------------------------------------------------------------------------- 1 | package object_storage 2 | 3 | import "github.com/crossplane/upjet/v2/pkg/config" 4 | 5 | const ( 6 | shortGroup = "storage" 7 | ) 8 | 9 | // Configure configures individual resources by adding custom ResourceConfigurators. 10 | func Configure(p *config.Provider) { 11 | p.AddResourceConfigurator("ovh_cloud_project_region_storage_presign", func(r *config.Resource) { 12 | r.ShortGroup = shortGroup 13 | }) 14 | } 15 | -------------------------------------------------------------------------------- /config/namespaced/object_storage/config.go: -------------------------------------------------------------------------------- 1 | package object_storage 2 | 3 | import "github.com/crossplane/upjet/v2/pkg/config" 4 | 5 | const ( 6 | shortGroup = "storage" 7 | ) 8 | 9 | // Configure configures individual resources by adding custom ResourceConfigurators. 10 | func Configure(p *config.Provider) { 11 | p.AddResourceConfigurator("ovh_cloud_project_region_storage_presign", func(r *config.Resource) { 12 | r.ShortGroup = shortGroup 13 | }) 14 | } 15 | -------------------------------------------------------------------------------- /examples-generated/cluster/clouddiskarray/v1alpha1/cephacl.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: clouddiskarray.ovh.edixos.io/v1alpha1 2 | kind: CephACL 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: clouddiskarray/v1alpha1/cephacl 6 | labels: 7 | testing.upbound.io/example-name: my_acl 8 | name: my-acl 9 | spec: 10 | forProvider: 11 | netmask: 255.255.255.255 12 | network: 1.2.3.4 13 | serviceName: ${data.ovh_dedicated_ceph.my_ceph.id} 14 | -------------------------------------------------------------------------------- /examples/namespaced/dns/v1alpha1/zonerecord.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dns.ovh.m.edixos.io/v1alpha1 2 | kind: ZoneRecord 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: dns/v1alpha1/zonerecord 6 | labels: 7 | testing.upbound.io/example-name: test 8 | name: test 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | fieldtype: A 13 | subdomain: test 14 | target: 0.0.0.0 15 | ttl: 3600 16 | zone: testdemo.ovh 17 | -------------------------------------------------------------------------------- /examples/namespaced/lb/v1alpha1/tcproute.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: lb.ovh.m.edixos.io/v1alpha1 2 | kind: TCPRoute 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: lb/v1alpha1/tcproute 6 | labels: 7 | testing.upbound.io/example-name: tcp_reject 8 | name: tcp-reject 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | action: 13 | - type: reject 14 | serviceName: loadbalancer-xxxxxxxxxxxxxxxxxx 15 | weight: 1 16 | -------------------------------------------------------------------------------- /examples-generated/cluster/vrack/v1alpha1/dedicatedcloud.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: vrack.ovh.edixos.io/v1alpha1 2 | kind: DedicatedCloud 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: vrack/v1alpha1/dedicatedcloud 6 | labels: 7 | testing.upbound.io/example-name: vrack_dedicated_cloud 8 | name: vrack-dedicated-cloud 9 | spec: 10 | forProvider: 11 | dedicatedCloud: 12 | serviceName: 13 | -------------------------------------------------------------------------------- /examples/cluster/kubernetes/nodepool.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kube.ovh.edixos.io/v1alpha1 2 | kind: NodePool 3 | metadata: 4 | name: hello-edixos 5 | spec: 6 | providerConfigRef: 7 | name: default 8 | forProvider: 9 | serviceName: 980cbcf06e6a4e6e8a91a7d125b26bba 10 | name: hello-crossplane 11 | flavorName: b2-7 12 | desiredNodes: 1 13 | maxNodes: 1 14 | minNodes: 1 15 | monthlyBilled: false 16 | kubeIdRef: 17 | name: hello-edixos -------------------------------------------------------------------------------- /examples/namespaced/lb/v1alpha1/httpfarm.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: lb.ovh.m.edixos.io/v1alpha1 2 | kind: HTTPFarm 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: lb/v1alpha1/httpfarm 6 | labels: 7 | testing.upbound.io/example-name: farmname 8 | name: farmname 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | displayName: ingress-8080-gra 13 | serviceName: ${data.ovh_iploadbalancing.lb.service_name} 14 | zone: GRA 15 | -------------------------------------------------------------------------------- /examples/namespaced/lb/v1alpha1/tcpfarm.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: lb.ovh.m.edixos.io/v1alpha1 2 | kind: TCPFarm 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: lb/v1alpha1/tcpfarm 6 | labels: 7 | testing.upbound.io/example-name: farm_name 8 | name: farm-name 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | displayName: ingress-8080-gra 13 | serviceName: ${data.ovh_iploadbalancing.lb.service_name} 14 | zone: GRA 15 | -------------------------------------------------------------------------------- /apis/cluster/dedicatedserver/v1alpha1/zz_generated.conversion_hubs.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2022 Upbound Inc. 3 | */ 4 | 5 | // Code generated by upjet. DO NOT EDIT. 6 | 7 | package v1alpha1 8 | 9 | // Hub marks this type as a conversion hub. 10 | func (tr *ServerNetworking) Hub() {} 11 | 12 | // Hub marks this type as a conversion hub. 13 | func (tr *ServerRebootTask) Hub() {} 14 | 15 | // Hub marks this type as a conversion hub. 16 | func (tr *ServerUpdate) Hub() {} 17 | -------------------------------------------------------------------------------- /apis/cluster/nas/v1alpha1/zz_generated.conversion_hubs.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2022 Upbound Inc. 3 | */ 4 | 5 | // Code generated by upjet. DO NOT EDIT. 6 | 7 | package v1alpha1 8 | 9 | // Hub marks this type as a conversion hub. 10 | func (tr *NashaPartition) Hub() {} 11 | 12 | // Hub marks this type as a conversion hub. 13 | func (tr *NashaPartitionAccess) Hub() {} 14 | 15 | // Hub marks this type as a conversion hub. 16 | func (tr *NashaPartitionSnapshot) Hub() {} 17 | -------------------------------------------------------------------------------- /examples-generated/cluster/additionalip/v1alpha1/firewallrule.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: additionalip.ovh.edixos.io/v1alpha1 2 | kind: FirewallRule 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: additionalip/v1alpha1/firewallrule 6 | labels: 7 | testing.upbound.io/example-name: deny_tcp 8 | name: deny-tcp 9 | spec: 10 | forProvider: 11 | action: deny 12 | ip: XXXXXX 13 | ipOnFirewall: XXXXXX 14 | protocol: tcp 15 | sequence: 0 16 | -------------------------------------------------------------------------------- /examples-generated/cluster/additionalip/v1alpha1/projectfailoveripattach.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: additionalip.ovh.edixos.io/v1alpha1 2 | kind: ProjectFailoverIPAttach 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: additionalip/v1alpha1/projectfailoveripattach 6 | labels: 7 | testing.upbound.io/example-name: failover_ip 8 | name: failover-ip 9 | spec: 10 | forProvider: 11 | ip: XXXXXX 12 | routedTo: XXXXXX 13 | serviceName: XXXXXX 14 | -------------------------------------------------------------------------------- /examples-generated/cluster/vrack/v1alpha1/ovhcloudconnect.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: vrack.ovh.edixos.io/v1alpha1 2 | kind: Ovhcloudconnect 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: vrack/v1alpha1/ovhcloudconnect 6 | labels: 7 | testing.upbound.io/example-name: vrack_ovhcloudconnect 8 | name: vrack-ovhcloudconnect 9 | spec: 10 | forProvider: 11 | ovhCloudConnect: 12 | serviceName: 13 | -------------------------------------------------------------------------------- /examples-generated/namespaced/dns/v1alpha1/zonerecord.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dns.ovh.m.edixos.io/v1alpha1 2 | kind: ZoneRecord 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: dns/v1alpha1/zonerecord 6 | labels: 7 | testing.upbound.io/example-name: test 8 | name: test 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | fieldtype: A 13 | subdomain: test 14 | target: 0.0.0.0 15 | ttl: 3600 16 | zone: testdemo.ovh 17 | -------------------------------------------------------------------------------- /examples-generated/namespaced/lb/v1alpha1/tcproute.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: lb.ovh.m.edixos.io/v1alpha1 2 | kind: TCPRoute 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: lb/v1alpha1/tcproute 6 | labels: 7 | testing.upbound.io/example-name: tcp_reject 8 | name: tcp-reject 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | action: 13 | - type: reject 14 | serviceName: loadbalancer-xxxxxxxxxxxxxxxxxx 15 | weight: 1 16 | -------------------------------------------------------------------------------- /examples/namespaced/nas/v1alpha1/nashapartition.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: nas.ovh.m.edixos.io/v1alpha1 2 | kind: NashaPartition 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: nas/v1alpha1/nashapartition 6 | labels: 7 | testing.upbound.io/example-name: my_partition 8 | name: my-partition 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | name: my-partition 13 | protocol: NFS 14 | serviceName: zpool-12345 15 | size: 20 16 | -------------------------------------------------------------------------------- /examples/namespaced/privatesql/v1alpha1/privatedatabasedatabase.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: privatesql.ovh.m.edixos.io/v1alpha1 2 | kind: PrivatedatabaseDatabase 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: privatesql/v1alpha1/privatedatabasedatabase 6 | labels: 7 | testing.upbound.io/example-name: database 8 | name: database 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | databaseName: XXXXXX 13 | serviceName: XXXXXX 14 | -------------------------------------------------------------------------------- /apis/namespaced/dedicatedserver/v1alpha1/zz_generated.conversion_hubs.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2022 Upbound Inc. 3 | */ 4 | 5 | // Code generated by upjet. DO NOT EDIT. 6 | 7 | package v1alpha1 8 | 9 | // Hub marks this type as a conversion hub. 10 | func (tr *ServerNetworking) Hub() {} 11 | 12 | // Hub marks this type as a conversion hub. 13 | func (tr *ServerRebootTask) Hub() {} 14 | 15 | // Hub marks this type as a conversion hub. 16 | func (tr *ServerUpdate) Hub() {} 17 | -------------------------------------------------------------------------------- /apis/namespaced/nas/v1alpha1/zz_generated.conversion_hubs.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2022 Upbound Inc. 3 | */ 4 | 5 | // Code generated by upjet. DO NOT EDIT. 6 | 7 | package v1alpha1 8 | 9 | // Hub marks this type as a conversion hub. 10 | func (tr *NashaPartition) Hub() {} 11 | 12 | // Hub marks this type as a conversion hub. 13 | func (tr *NashaPartitionAccess) Hub() {} 14 | 15 | // Hub marks this type as a conversion hub. 16 | func (tr *NashaPartitionSnapshot) Hub() {} 17 | -------------------------------------------------------------------------------- /examples-generated/cluster/dns/v1alpha1/nameservers.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dns.ovh.edixos.io/v1alpha1 2 | kind: NameServers 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: dns/v1alpha1/nameservers 6 | labels: 7 | testing.upbound.io/example-name: name_servers 8 | name: name-servers 9 | spec: 10 | forProvider: 11 | domain: mydomain.ovh 12 | servers: 13 | - host: dns105.ovh.net 14 | ip: 213.251.188.144 15 | - host: ns105.ovh.net 16 | -------------------------------------------------------------------------------- /examples-generated/cluster/lb/v1alpha1/udpfrontend.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: lb.ovh.edixos.io/v1alpha1 2 | kind: UDPFrontend 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: lb/v1alpha1/udpfrontend 6 | labels: 7 | testing.upbound.io/example-name: test_frontend 8 | name: test-frontend 9 | spec: 10 | forProvider: 11 | displayName: ingress-8080-gra 12 | port: 10,11 13 | serviceName: ${data.ovh_iploadbalancing.lb.service_name} 14 | zone: all 15 | -------------------------------------------------------------------------------- /examples-generated/cluster/vrack/v1alpha1/dedicatedserverinterface.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: vrack.ovh.edixos.io/v1alpha1 2 | kind: DedicatedServerInterface 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: vrack/v1alpha1/dedicatedserverinterface 6 | labels: 7 | testing.upbound.io/example-name: vdsi 8 | name: vdsi 9 | spec: 10 | forProvider: 11 | interfaceId: ${data.ovh_dedicated_server.server.enabled_vrack_vnis[0]} 12 | serviceName: pn-xxxxxxx 13 | -------------------------------------------------------------------------------- /examples-generated/namespaced/dns/v1alpha1/zonedynhostrecord.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dns.ovh.m.edixos.io/v1alpha1 2 | kind: ZoneDynhostRecord 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: dns/v1alpha1/zonedynhostrecord 6 | labels: 7 | testing.upbound.io/example-name: dynhost_record 8 | name: dynhost-record 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | ip: 1.2.3.4 13 | subDomain: dynhost 14 | zoneName: mydomain.ovh 15 | -------------------------------------------------------------------------------- /examples-generated/namespaced/lb/v1alpha1/httpfarm.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: lb.ovh.m.edixos.io/v1alpha1 2 | kind: HTTPFarm 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: lb/v1alpha1/httpfarm 6 | labels: 7 | testing.upbound.io/example-name: farmname 8 | name: farmname 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | displayName: ingress-8080-gra 13 | serviceName: ${data.ovh_iploadbalancing.lb.service_name} 14 | zone: GRA 15 | -------------------------------------------------------------------------------- /examples-generated/namespaced/lb/v1alpha1/tcpfarm.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: lb.ovh.m.edixos.io/v1alpha1 2 | kind: TCPFarm 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: lb/v1alpha1/tcpfarm 6 | labels: 7 | testing.upbound.io/example-name: farm_name 8 | name: farm-name 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | displayName: ingress-8080-gra 13 | serviceName: ${data.ovh_iploadbalancing.lb.service_name} 14 | zone: GRA 15 | -------------------------------------------------------------------------------- /examples/namespaced/dns/v1alpha1/zoneredirection.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dns.ovh.m.edixos.io/v1alpha1 2 | kind: ZoneRedirection 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: dns/v1alpha1/zoneredirection 6 | labels: 7 | testing.upbound.io/example-name: test 8 | name: test 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | subdomain: test 13 | target: http://www.ovh 14 | type: visiblePermanent 15 | zone: testdemo.ovh 16 | -------------------------------------------------------------------------------- /examples/namespaced/network/v1alpha1/privatenetwork.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: network.ovh.m.edixos.io/v1alpha1 2 | kind: PrivateNetwork 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: network/v1alpha1/privatenetwork 6 | labels: 7 | testing.upbound.io/example-name: net 8 | name: net 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | name: admin_network 13 | regions: 14 | - GRA1 15 | - BHS1 16 | serviceName: XXXXXX 17 | -------------------------------------------------------------------------------- /examples-generated/cluster/cloud/v1alpha1/projectinstancesnapshot.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: cloud.ovh.edixos.io/v1alpha1 2 | kind: ProjectInstanceSnapshot 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: cloud/v1alpha1/projectinstancesnapshot 6 | labels: 7 | testing.upbound.io/example-name: snapshot 8 | name: snapshot 9 | spec: 10 | forProvider: 11 | instanceId: 12 | name: SnapshotExample 13 | serviceName: 14 | -------------------------------------------------------------------------------- /examples-generated/cluster/storage/v1alpha1/efsshare.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: storage.ovh.edixos.io/v1alpha1 2 | kind: EFSShare 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: storage/v1alpha1/efsshare 6 | labels: 7 | testing.upbound.io/example-name: share 8 | name: share 9 | spec: 10 | forProvider: 11 | description: My share 12 | name: share 13 | protocol: NFS 14 | serviceName: ${data.ovh_storage_efs.efs.service_name} 15 | size: 100 16 | -------------------------------------------------------------------------------- /examples-generated/namespaced/nas/v1alpha1/nashapartition.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: nas.ovh.m.edixos.io/v1alpha1 2 | kind: NashaPartition 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: nas/v1alpha1/nashapartition 6 | labels: 7 | testing.upbound.io/example-name: my_partition 8 | name: my-partition 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | name: my-partition 13 | protocol: NFS 14 | serviceName: zpool-12345 15 | size: 20 16 | -------------------------------------------------------------------------------- /examples-generated/namespaced/network/v1alpha1/privatenetwork.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: network.ovh.m.edixos.io/v1alpha1 2 | kind: PrivateNetwork 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: network/v1alpha1/privatenetwork 6 | labels: 7 | testing.upbound.io/example-name: net 8 | name: net 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | name: admin_network 13 | regions: 14 | - GRA1 15 | - BHS1 16 | serviceName: XXXXXX 17 | -------------------------------------------------------------------------------- /examples-generated/namespaced/privatesql/v1alpha1/privatedatabasedatabase.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: privatesql.ovh.m.edixos.io/v1alpha1 2 | kind: PrivatedatabaseDatabase 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: privatesql/v1alpha1/privatedatabasedatabase 6 | labels: 7 | testing.upbound.io/example-name: database 8 | name: database 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | databaseName: XXXXXX 13 | serviceName: XXXXXX 14 | -------------------------------------------------------------------------------- /examples/cluster/registry/user.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: registry.ovh.edixos.io/v1alpha1 2 | kind: ContainerRegistryUser 3 | metadata: 4 | name: hello-edixos 5 | spec: 6 | providerConfigRef: 7 | name: default 8 | forProvider: 9 | email: ikaboubi@edixos.com 10 | login: ismail 11 | serviceName: 980cbcf06e6a4e6e8a91a7d125b26bba 12 | registryIdRef: 13 | name: hello-edixos 14 | writeConnectionSecretToRef: 15 | name: registry-password 16 | namespace: default -------------------------------------------------------------------------------- /examples/namespaced/lb/v1alpha1/udpfarm.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: lb.ovh.m.edixos.io/v1alpha1 2 | kind: UDPFarm 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: lb/v1alpha1/udpfarm 6 | labels: 7 | testing.upbound.io/example-name: farm_name 8 | name: farm-name 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | displayName: ingress-8080-gra 13 | port: 80 14 | serviceName: ${data.ovh_iploadbalancing.lb.service_name} 15 | zone: gra 16 | -------------------------------------------------------------------------------- /examples-generated/cluster/cloud/v1alpha1/projectstorage.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: cloud.ovh.edixos.io/v1alpha1 2 | kind: ProjectStorage 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: cloud/v1alpha1/projectstorage 6 | labels: 7 | testing.upbound.io/example-name: storage 8 | name: storage 9 | spec: 10 | forProvider: 11 | name: my-storage 12 | regionName: GRA 13 | serviceName: 14 | versioning: 15 | status: enabled 16 | -------------------------------------------------------------------------------- /examples-generated/cluster/cloud/v1alpha1/projectvolumebackup.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: cloud.ovh.edixos.io/v1alpha1 2 | kind: ProjectVolumeBackup 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: cloud/v1alpha1/projectvolumebackup 6 | labels: 7 | testing.upbound.io/example-name: backup 8 | name: backup 9 | spec: 10 | forProvider: 11 | name: ExampleBackup 12 | regionName: GRA9 13 | serviceName: 14 | volumeId: 15 | -------------------------------------------------------------------------------- /examples-generated/namespaced/dns/v1alpha1/zoneredirection.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dns.ovh.m.edixos.io/v1alpha1 2 | kind: ZoneRedirection 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: dns/v1alpha1/zoneredirection 6 | labels: 7 | testing.upbound.io/example-name: test 8 | name: test 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | subdomain: test 13 | target: http://www.ovh 14 | type: visiblePermanent 15 | zone: testdemo.ovh 16 | -------------------------------------------------------------------------------- /examples/cluster/gateway/gateway.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: gateway.ovh.edixos.io/v1alpha1 2 | kind: ProjectGateway 3 | metadata: 4 | name: gateway-1 5 | labels: 6 | managed-by: crossplane 7 | spec: 8 | providerConfigRef: 9 | name: default 10 | forProvider: 11 | name: gateway-1 12 | model: s 13 | region: DE1 14 | serviceName: 980cbcf06e6a4e6e8a91a7d125b26bba 15 | networkIdRef: 16 | name: sample-1 17 | subnetIdRef: 18 | name: subnet-1 19 | 20 | -------------------------------------------------------------------------------- /examples/cluster/me/user.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: me.ovh.edixos.io/v1alpha1 2 | kind: User 3 | metadata: 4 | name: ikaboubi 5 | spec: 6 | providerConfigRef: 7 | name: default 8 | forProvider: 9 | description: "edixos administrators" 10 | email: ikaboubi@gmail.com 11 | group: DEFAULT 12 | login: ikaboubi 13 | # groupRef: 14 | # name: edixos-admins 15 | passwordSecretRef: 16 | key: password 17 | name: ikaboubi-password 18 | namespace: default -------------------------------------------------------------------------------- /examples/namespaced/additionalip/v1alpha1/move.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: additionalip.ovh.m.edixos.io/v1alpha1 2 | kind: Move 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: additionalip/v1alpha1/move 6 | labels: 7 | testing.upbound.io/example-name: move_ip_to_load_balancer_xxxxx 8 | name: move-ip-to-load-balancer-xxxxx 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | ip: 1.2.3.4 13 | routedTo: 14 | - serviceName: loadbalancer-XXXXX 15 | -------------------------------------------------------------------------------- /examples/namespaced/additionalip/v1alpha1/reverse.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: additionalip.ovh.m.edixos.io/v1alpha1 2 | kind: Reverse 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: additionalip/v1alpha1/reverse 6 | labels: 7 | testing.upbound.io/example-name: test 8 | name: test 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | ip: 192.0.2.0/24 13 | ipReverse: 192.0.2.1 14 | readinessTimeoutDuration: 1m 15 | reverse: example.com 16 | -------------------------------------------------------------------------------- /examples/namespaced/logs/v1alpha1/logsoutputopensearchalias.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: logs.ovh.m.edixos.io/v1alpha1 2 | kind: LogsOutputOpensearchAlias 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: logs/v1alpha1/logsoutputopensearchalias 6 | labels: 7 | testing.upbound.io/example-name: alias 8 | name: alias 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | description: my opensearch alias 13 | serviceName: '....' 14 | suffix: alias 15 | -------------------------------------------------------------------------------- /examples/namespaced/logs/v1alpha1/logsoutputopensearchindex.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: logs.ovh.m.edixos.io/v1alpha1 2 | kind: LogsOutputOpensearchIndex 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: logs/v1alpha1/logsoutputopensearchindex 6 | labels: 7 | testing.upbound.io/example-name: index 8 | name: index 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | description: my opensearch index 13 | serviceName: '....' 14 | suffix: index 15 | -------------------------------------------------------------------------------- /examples/namespaced/nas/v1alpha1/nashapartitionsnapshot.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: nas.ovh.m.edixos.io/v1alpha1 2 | kind: NashaPartitionSnapshot 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: nas/v1alpha1/nashapartitionsnapshot 6 | labels: 7 | testing.upbound.io/example-name: my_partition 8 | name: my-partition 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | partitionName: my-partition 13 | serviceName: zpool-12345 14 | type: day-3 15 | -------------------------------------------------------------------------------- /examples-generated/cluster/cloud/v1alpha1/plan.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: cloud.ovh.edixos.io/v1alpha1 2 | kind: Plan 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: cloud/v1alpha1/plan 6 | labels: 7 | testing.upbound.io/example-name: plan 8 | name: plan 9 | spec: 10 | forProvider: 11 | autoRenewal: true 12 | displayName: one_month_rancher_savings_plan 13 | flavor: Rancher 14 | period: P1M 15 | serviceName: 16 | size: 2 17 | -------------------------------------------------------------------------------- /examples-generated/cluster/dns/v1alpha1/name.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dns.ovh.edixos.io/v1alpha1 2 | kind: Name 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: dns/v1alpha1/name 6 | labels: 7 | testing.upbound.io/example-name: domain 8 | name: domain 9 | spec: 10 | forProvider: 11 | domainName: example.com 12 | targetSpec: 13 | dnsConfiguration: 14 | nameServers: 15 | - nameServer: dns101.ovh.net 16 | - nameServer: ns101.ovh.net 17 | -------------------------------------------------------------------------------- /examples-generated/namespaced/lb/v1alpha1/udpfarm.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: lb.ovh.m.edixos.io/v1alpha1 2 | kind: UDPFarm 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: lb/v1alpha1/udpfarm 6 | labels: 7 | testing.upbound.io/example-name: farm_name 8 | name: farm-name 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | displayName: ingress-8080-gra 13 | port: 80 14 | serviceName: ${data.ovh_iploadbalancing.lb.service_name} 15 | zone: gra 16 | -------------------------------------------------------------------------------- /examples-generated/namespaced/vrack/v1alpha1/vrackservices.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: vrack.ovh.m.edixos.io/v1alpha1 2 | kind: Vrackservices 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: vrack/v1alpha1/vrackservices 6 | labels: 7 | testing.upbound.io/example-name: vrack_vrackservices 8 | name: vrack-vrackservices 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | serviceName: 13 | vrackServices: 14 | -------------------------------------------------------------------------------- /examples/namespaced/clouddiskarray/v1alpha1/cephacl.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: clouddiskarray.ovh.m.edixos.io/v1alpha1 2 | kind: CephACL 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: clouddiskarray/v1alpha1/cephacl 6 | labels: 7 | testing.upbound.io/example-name: my_acl 8 | name: my-acl 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | netmask: 255.255.255.255 13 | network: 1.2.3.4 14 | serviceName: ${data.ovh_dedicated_ceph.my_ceph.id} 15 | -------------------------------------------------------------------------------- /apis/cluster/ovh/v1alpha1/zz_generated.managedlist.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2022 Upbound Inc. 3 | */ 4 | // Code generated by angryjet. DO NOT EDIT. 5 | 6 | package v1alpha1 7 | 8 | import resource "github.com/crossplane/crossplane-runtime/v2/pkg/resource" 9 | 10 | // GetItems of this VpsList. 11 | func (l *VpsList) GetItems() []resource.Managed { 12 | items := make([]resource.Managed, len(l.Items)) 13 | for i := range l.Items { 14 | items[i] = &l.Items[i] 15 | } 16 | return items 17 | } 18 | -------------------------------------------------------------------------------- /apis/namespaced/ovh/v1alpha1/zz_generated.managedlist.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2022 Upbound Inc. 3 | */ 4 | // Code generated by angryjet. DO NOT EDIT. 5 | 6 | package v1alpha1 7 | 8 | import resource "github.com/crossplane/crossplane-runtime/v2/pkg/resource" 9 | 10 | // GetItems of this VpsList. 11 | func (l *VpsList) GetItems() []resource.Managed { 12 | items := make([]resource.Managed, len(l.Items)) 13 | for i := range l.Items { 14 | items[i] = &l.Items[i] 15 | } 16 | return items 17 | } 18 | -------------------------------------------------------------------------------- /examples-generated/cluster/cloud/v1alpha1/projectcontainerregistryiam.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: cloud.ovh.edixos.io/v1alpha1 2 | kind: ProjectContainerregistryIAM 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: cloud/v1alpha1/projectcontainerregistryiam 6 | labels: 7 | testing.upbound.io/example-name: registry_iam 8 | name: registry-iam 9 | spec: 10 | forProvider: 11 | deleteUsers: false 12 | registryId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx 13 | serviceName: XXXXXX 14 | -------------------------------------------------------------------------------- /examples-generated/cluster/cloud/v1alpha1/projectvolume.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: cloud.ovh.edixos.io/v1alpha1 2 | kind: ProjectVolume 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: cloud/v1alpha1/projectvolume 6 | labels: 7 | testing.upbound.io/example-name: volume 8 | name: volume 9 | spec: 10 | forProvider: 11 | description: Terraform volume 12 | name: terrformName 13 | regionName: xxx 14 | serviceName: yyyyy 15 | size: 15 16 | type: classic 17 | -------------------------------------------------------------------------------- /examples-generated/namespaced/additionalip/v1alpha1/move.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: additionalip.ovh.m.edixos.io/v1alpha1 2 | kind: Move 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: additionalip/v1alpha1/move 6 | labels: 7 | testing.upbound.io/example-name: move_ip_to_load_balancer_xxxxx 8 | name: move-ip-to-load-balancer-xxxxx 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | ip: 1.2.3.4 13 | routedTo: 14 | - serviceName: loadbalancer-XXXXX 15 | -------------------------------------------------------------------------------- /examples-generated/namespaced/additionalip/v1alpha1/reverse.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: additionalip.ovh.m.edixos.io/v1alpha1 2 | kind: Reverse 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: additionalip/v1alpha1/reverse 6 | labels: 7 | testing.upbound.io/example-name: test 8 | name: test 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | ip: 192.0.2.0/24 13 | ipReverse: 192.0.2.1 14 | readinessTimeoutDuration: 1m 15 | reverse: example.com 16 | -------------------------------------------------------------------------------- /examples-generated/namespaced/cloud/v1alpha1/projectrancher.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: cloud.ovh.m.edixos.io/v1alpha1 2 | kind: ProjectRancher 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: cloud/v1alpha1/projectrancher 6 | labels: 7 | testing.upbound.io/example-name: rancher 8 | name: rancher 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | projectId: 13 | targetSpec: 14 | name: MyRancher 15 | plan: STANDARD 16 | -------------------------------------------------------------------------------- /examples-generated/namespaced/logs/v1alpha1/logsoutputopensearchalias.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: logs.ovh.m.edixos.io/v1alpha1 2 | kind: LogsOutputOpensearchAlias 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: logs/v1alpha1/logsoutputopensearchalias 6 | labels: 7 | testing.upbound.io/example-name: alias 8 | name: alias 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | description: my opensearch alias 13 | serviceName: '....' 14 | suffix: alias 15 | -------------------------------------------------------------------------------- /examples-generated/namespaced/logs/v1alpha1/logsoutputopensearchindex.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: logs.ovh.m.edixos.io/v1alpha1 2 | kind: LogsOutputOpensearchIndex 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: logs/v1alpha1/logsoutputopensearchindex 6 | labels: 7 | testing.upbound.io/example-name: index 8 | name: index 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | description: my opensearch index 13 | serviceName: '....' 14 | suffix: index 15 | -------------------------------------------------------------------------------- /examples-generated/namespaced/nas/v1alpha1/nashapartitionsnapshot.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: nas.ovh.m.edixos.io/v1alpha1 2 | kind: NashaPartitionSnapshot 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: nas/v1alpha1/nashapartitionsnapshot 6 | labels: 7 | testing.upbound.io/example-name: my_partition 8 | name: my-partition 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | partitionName: my-partition 13 | serviceName: zpool-12345 14 | type: day-3 15 | -------------------------------------------------------------------------------- /examples-generated/namespaced/vrack/v1alpha1/ipv6.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: vrack.ovh.m.edixos.io/v1alpha1 2 | kind: IPv6 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: vrack/v1alpha1/ipv6 6 | labels: 7 | testing.upbound.io/example-name: vrack_block_v6 8 | name: vrack-block-v6 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | block: 13 | bridgedSubrange: 14 | - slaac: 15 | serviceName: 16 | -------------------------------------------------------------------------------- /examples/namespaced/additionalip/v1alpha1/projectfailoveripattach.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: additionalip.ovh.m.edixos.io/v1alpha1 2 | kind: ProjectFailoverIPAttach 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: additionalip/v1alpha1/projectfailoveripattach 6 | labels: 7 | testing.upbound.io/example-name: failover_ip 8 | name: failover-ip 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | ip: XXXXXX 13 | routedTo: XXXXXX 14 | serviceName: XXXXXX 15 | -------------------------------------------------------------------------------- /examples-generated/cluster/privatesql/v1alpha1/privatedatabaseusergrant.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: privatesql.ovh.edixos.io/v1alpha1 2 | kind: PrivatedatabaseUserGrant 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: privatesql/v1alpha1/privatedatabaseusergrant 6 | labels: 7 | testing.upbound.io/example-name: user_grant 8 | name: user-grant 9 | spec: 10 | forProvider: 11 | databaseName: ovhcloud 12 | grant: admin 13 | serviceName: XXXXXX 14 | userName: terraform 15 | -------------------------------------------------------------------------------- /examples-generated/namespaced/clouddiskarray/v1alpha1/cephacl.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: clouddiskarray.ovh.m.edixos.io/v1alpha1 2 | kind: CephACL 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: clouddiskarray/v1alpha1/cephacl 6 | labels: 7 | testing.upbound.io/example-name: my_acl 8 | name: my-acl 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | netmask: 255.255.255.255 13 | network: 1.2.3.4 14 | serviceName: ${data.ovh_dedicated_ceph.my_ceph.id} 15 | -------------------------------------------------------------------------------- /examples-generated/namespaced/vrack/v1alpha1/dedicatedcloud.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: vrack.ovh.m.edixos.io/v1alpha1 2 | kind: DedicatedCloud 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: vrack/v1alpha1/dedicatedcloud 6 | labels: 7 | testing.upbound.io/example-name: vrack_dedicated_cloud 8 | name: vrack-dedicated-cloud 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | dedicatedCloud: 13 | serviceName: 14 | -------------------------------------------------------------------------------- /examples/namespaced/additionalip/v1alpha1/firewallrule.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: additionalip.ovh.m.edixos.io/v1alpha1 2 | kind: FirewallRule 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: additionalip/v1alpha1/firewallrule 6 | labels: 7 | testing.upbound.io/example-name: deny_tcp 8 | name: deny-tcp 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | action: deny 13 | ip: XXXXXX 14 | ipOnFirewall: XXXXXX 15 | protocol: tcp 16 | sequence: 0 17 | -------------------------------------------------------------------------------- /examples/namespaced/vrack/v1alpha1/dedicatedserverinterface.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: vrack.ovh.m.edixos.io/v1alpha1 2 | kind: DedicatedServerInterface 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: vrack/v1alpha1/dedicatedserverinterface 6 | labels: 7 | testing.upbound.io/example-name: vdsi 8 | name: vdsi 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | interfaceId: ${data.ovh_dedicated_server.server.enabled_vrack_vnis[0]} 13 | serviceName: pn-xxxxxxx 14 | -------------------------------------------------------------------------------- /examples-generated/cluster/kms/v1alpha1/servicekey.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kms.ovh.edixos.io/v1alpha1 2 | kind: ServiceKey 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: kms/v1alpha1/servicekey 6 | labels: 7 | testing.upbound.io/example-name: key_symetric 8 | name: key-symetric 9 | spec: 10 | forProvider: 11 | name: key_oct 12 | okmsId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx 13 | operations: 14 | - encrypt 15 | - decrypt 16 | size: 256 17 | type: oct 18 | -------------------------------------------------------------------------------- /examples-generated/cluster/privatesql/v1alpha1/privatedatabasewhitelist.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: privatesql.ovh.edixos.io/v1alpha1 2 | kind: PrivatedatabaseWhitelist 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: privatesql/v1alpha1/privatedatabasewhitelist 6 | labels: 7 | testing.upbound.io/example-name: ip 8 | name: ip 9 | spec: 10 | forProvider: 11 | ip: 1.2.3.4 12 | name: A name for your IP address 13 | service: true 14 | serviceName: XXXXXX 15 | sftp: true 16 | -------------------------------------------------------------------------------- /examples-generated/namespaced/additionalip/v1alpha1/projectfailoveripattach.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: additionalip.ovh.m.edixos.io/v1alpha1 2 | kind: ProjectFailoverIPAttach 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: additionalip/v1alpha1/projectfailoveripattach 6 | labels: 7 | testing.upbound.io/example-name: failover_ip 8 | name: failover-ip 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | ip: XXXXXX 13 | routedTo: XXXXXX 14 | serviceName: XXXXXX 15 | -------------------------------------------------------------------------------- /examples/cluster/storeconfig/vault.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: ovh.edixos.io/v1alpha1 2 | kind: StoreConfig 3 | metadata: 4 | name: vault 5 | spec: 6 | type: Vault 7 | defaultScope: crossplane-system 8 | vault: 9 | server: http://vault.vault-system:8200 10 | mountPath: kv2/ 11 | version: v2 12 | auth: 13 | method: Token 14 | token: 15 | source: Secret 16 | secretRef: 17 | namespace: crossplane-system 18 | name: vault-token 19 | key: token -------------------------------------------------------------------------------- /examples/namespaced/lb/v1alpha1/udpfrontend.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: lb.ovh.m.edixos.io/v1alpha1 2 | kind: UDPFrontend 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: lb/v1alpha1/udpfrontend 6 | labels: 7 | testing.upbound.io/example-name: test_frontend 8 | name: test-frontend 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | displayName: ingress-8080-gra 13 | port: 10,11 14 | serviceName: ${data.ovh_iploadbalancing.lb.service_name} 15 | zone: all 16 | -------------------------------------------------------------------------------- /examples-generated/cluster/iam/v1alpha1/iamresourcegroup.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: iam.ovh.edixos.io/v1alpha1 2 | kind: IAMResourceGroup 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: iam/v1alpha1/iamresourcegroup 6 | labels: 7 | testing.upbound.io/example-name: my_resource_group 8 | name: my-resource-group 9 | spec: 10 | forProvider: 11 | name: my_resource_group 12 | resources: 13 | - urn:v1:eu:resource:service1:service1-id 14 | - urn:v1:eu:resource:service2:service2-id 15 | -------------------------------------------------------------------------------- /examples-generated/namespaced/additionalip/v1alpha1/firewallrule.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: additionalip.ovh.m.edixos.io/v1alpha1 2 | kind: FirewallRule 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: additionalip/v1alpha1/firewallrule 6 | labels: 7 | testing.upbound.io/example-name: deny_tcp 8 | name: deny-tcp 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | action: deny 13 | ip: XXXXXX 14 | ipOnFirewall: XXXXXX 15 | protocol: tcp 16 | sequence: 0 17 | -------------------------------------------------------------------------------- /examples-generated/namespaced/dns/v1alpha1/nameservers.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dns.ovh.m.edixos.io/v1alpha1 2 | kind: NameServers 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: dns/v1alpha1/nameservers 6 | labels: 7 | testing.upbound.io/example-name: name_servers 8 | name: name-servers 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | domain: mydomain.ovh 13 | servers: 14 | - host: dns105.ovh.net 15 | ip: 213.251.188.144 16 | - host: ns105.ovh.net 17 | -------------------------------------------------------------------------------- /examples-generated/namespaced/vrack/v1alpha1/dedicatedserverinterface.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: vrack.ovh.m.edixos.io/v1alpha1 2 | kind: DedicatedServerInterface 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: vrack/v1alpha1/dedicatedserverinterface 6 | labels: 7 | testing.upbound.io/example-name: vdsi 8 | name: vdsi 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | interfaceId: ${data.ovh_dedicated_server.server.enabled_vrack_vnis[0]} 13 | serviceName: pn-xxxxxxx 14 | -------------------------------------------------------------------------------- /examples-generated/namespaced/vrack/v1alpha1/ovhcloudconnect.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: vrack.ovh.m.edixos.io/v1alpha1 2 | kind: Ovhcloudconnect 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: vrack/v1alpha1/ovhcloudconnect 6 | labels: 7 | testing.upbound.io/example-name: vrack_ovhcloudconnect 8 | name: vrack-ovhcloudconnect 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | ovhCloudConnect: 13 | serviceName: 14 | -------------------------------------------------------------------------------- /apis/cluster/clouddiskarray/v1alpha1/zz_generated.managedlist.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2022 Upbound Inc. 3 | */ 4 | // Code generated by angryjet. DO NOT EDIT. 5 | 6 | package v1alpha1 7 | 8 | import resource "github.com/crossplane/crossplane-runtime/v2/pkg/resource" 9 | 10 | // GetItems of this CephACLList. 11 | func (l *CephACLList) GetItems() []resource.Managed { 12 | items := make([]resource.Managed, len(l.Items)) 13 | for i := range l.Items { 14 | items[i] = &l.Items[i] 15 | } 16 | return items 17 | } 18 | -------------------------------------------------------------------------------- /apis/cluster/okms/v1alpha1/zz_generated.managedlist.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2022 Upbound Inc. 3 | */ 4 | // Code generated by angryjet. DO NOT EDIT. 5 | 6 | package v1alpha1 7 | 8 | import resource "github.com/crossplane/crossplane-runtime/v2/pkg/resource" 9 | 10 | // GetItems of this ServiceKeyJwkList. 11 | func (l *ServiceKeyJwkList) GetItems() []resource.Managed { 12 | items := make([]resource.Managed, len(l.Items)) 13 | for i := range l.Items { 14 | items[i] = &l.Items[i] 15 | } 16 | return items 17 | } 18 | -------------------------------------------------------------------------------- /apis/namespaced/clouddiskarray/v1alpha1/zz_generated.managedlist.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2022 Upbound Inc. 3 | */ 4 | // Code generated by angryjet. DO NOT EDIT. 5 | 6 | package v1alpha1 7 | 8 | import resource "github.com/crossplane/crossplane-runtime/v2/pkg/resource" 9 | 10 | // GetItems of this CephACLList. 11 | func (l *CephACLList) GetItems() []resource.Managed { 12 | items := make([]resource.Managed, len(l.Items)) 13 | for i := range l.Items { 14 | items[i] = &l.Items[i] 15 | } 16 | return items 17 | } 18 | -------------------------------------------------------------------------------- /examples-generated/namespaced/lb/v1alpha1/udpfrontend.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: lb.ovh.m.edixos.io/v1alpha1 2 | kind: UDPFrontend 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: lb/v1alpha1/udpfrontend 6 | labels: 7 | testing.upbound.io/example-name: test_frontend 8 | name: test-frontend 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | displayName: ingress-8080-gra 13 | port: 10,11 14 | serviceName: ${data.ovh_iploadbalancing.lb.service_name} 15 | zone: all 16 | -------------------------------------------------------------------------------- /examples-generated/namespaced/storage/v1alpha1/efsshare.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: storage.ovh.m.edixos.io/v1alpha1 2 | kind: EFSShare 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: storage/v1alpha1/efsshare 6 | labels: 7 | testing.upbound.io/example-name: share 8 | name: share 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | description: My share 13 | name: share 14 | protocol: NFS 15 | serviceName: ${data.ovh_storage_efs.efs.service_name} 16 | size: 100 17 | -------------------------------------------------------------------------------- /examples/cluster/databases/subnet.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: network.ovh.edixos.io/v1alpha1 2 | kind: Subnet 3 | metadata: 4 | name: subnet-1 5 | labels: 6 | managed-by: crossplane 7 | spec: 8 | providerConfigRef: 9 | name: default 10 | forProvider: 11 | serviceName: 21658141411b4c9bb0bf863be8e8c369 12 | networkIdRef: 13 | name: sample-1 14 | region: GRA11 15 | start: 192.168.168.100 16 | end: 192.168.168.200 17 | network: 192.168.168.0/24 18 | dhcp: true 19 | noGateway: false -------------------------------------------------------------------------------- /examples/cluster/network/subnet.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: network.ovh.edixos.io/v1alpha1 2 | kind: Subnet 3 | metadata: 4 | name: subnet-1 5 | labels: 6 | managed-by: crossplane 7 | spec: 8 | providerConfigRef: 9 | name: default 10 | forProvider: 11 | serviceName: 980cbcf06e6a4e6e8a91a7d125b26bba 12 | networkIdRef: 13 | name: sample-1 14 | region: DE1 15 | start: 192.168.168.100 16 | end: 192.168.168.200 17 | network: 192.168.168.0/24 18 | dhcp: true 19 | noGateway: false -------------------------------------------------------------------------------- /apis/cluster/gateway/v1alpha1/zz_generated.managedlist.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2022 Upbound Inc. 3 | */ 4 | // Code generated by angryjet. DO NOT EDIT. 5 | 6 | package v1alpha1 7 | 8 | import resource "github.com/crossplane/crossplane-runtime/v2/pkg/resource" 9 | 10 | // GetItems of this ProjectGatewayList. 11 | func (l *ProjectGatewayList) GetItems() []resource.Managed { 12 | items := make([]resource.Managed, len(l.Items)) 13 | for i := range l.Items { 14 | items[i] = &l.Items[i] 15 | } 16 | return items 17 | } 18 | -------------------------------------------------------------------------------- /apis/namespaced/okms/v1alpha1/zz_generated.managedlist.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2022 Upbound Inc. 3 | */ 4 | // Code generated by angryjet. DO NOT EDIT. 5 | 6 | package v1alpha1 7 | 8 | import resource "github.com/crossplane/crossplane-runtime/v2/pkg/resource" 9 | 10 | // GetItems of this ServiceKeyJwkList. 11 | func (l *ServiceKeyJwkList) GetItems() []resource.Managed { 12 | items := make([]resource.Managed, len(l.Items)) 13 | for i := range l.Items { 14 | items[i] = &l.Items[i] 15 | } 16 | return items 17 | } 18 | -------------------------------------------------------------------------------- /examples-generated/cluster/dns/v1alpha1/dsrecords.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dns.ovh.edixos.io/v1alpha1 2 | kind: DsRecords 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: dns/v1alpha1/dsrecords 6 | labels: 7 | testing.upbound.io/example-name: ds_records 8 | name: ds-records 9 | spec: 10 | forProvider: 11 | domain: mydomain.ovh 12 | dsRecords: 13 | - algorithm: RSASHA1_NSEC3_SHA1 14 | flags: KEY_SIGNING_KEY 15 | publicKey: my_base64_encoded_public_key 16 | tag: 12345 17 | -------------------------------------------------------------------------------- /examples-generated/cluster/vrack/v1alpha1/ipv6routedsubrange.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: vrack.ovh.edixos.io/v1alpha1 2 | kind: IPv6RoutedSubrange 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: vrack/v1alpha1/ipv6routedsubrange 6 | labels: 7 | testing.upbound.io/example-name: vrack_routed_subrange 8 | name: vrack-routed-subrange 9 | spec: 10 | forProvider: 11 | block: 12 | nexthop: 13 | routedSubrange: 14 | serviceName: 15 | -------------------------------------------------------------------------------- /examples-generated/namespaced/cloud/v1alpha1/projectinstancesnapshot.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: cloud.ovh.m.edixos.io/v1alpha1 2 | kind: ProjectInstanceSnapshot 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: cloud/v1alpha1/projectinstancesnapshot 6 | labels: 7 | testing.upbound.io/example-name: snapshot 8 | name: snapshot 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | instanceId: 13 | name: SnapshotExample 14 | serviceName: 15 | -------------------------------------------------------------------------------- /examples-generated/namespaced/cloud/v1alpha1/projectstorage.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: cloud.ovh.m.edixos.io/v1alpha1 2 | kind: ProjectStorage 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: cloud/v1alpha1/projectstorage 6 | labels: 7 | testing.upbound.io/example-name: storage 8 | name: storage 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | name: my-storage 13 | regionName: GRA 14 | serviceName: 15 | versioning: 16 | status: enabled 17 | -------------------------------------------------------------------------------- /examples-generated/namespaced/cloud/v1alpha1/projectvolumebackup.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: cloud.ovh.m.edixos.io/v1alpha1 2 | kind: ProjectVolumeBackup 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: cloud/v1alpha1/projectvolumebackup 6 | labels: 7 | testing.upbound.io/example-name: backup 8 | name: backup 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | name: ExampleBackup 13 | regionName: GRA9 14 | serviceName: 15 | volumeId: 16 | -------------------------------------------------------------------------------- /apis/cluster/kms/v1alpha1/zz_generated.conversion_hubs.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2022 Upbound Inc. 3 | */ 4 | 5 | // Code generated by upjet. DO NOT EDIT. 6 | 7 | package v1alpha1 8 | 9 | // Hub marks this type as a conversion hub. 10 | func (tr *Credential) Hub() {} 11 | 12 | // Hub marks this type as a conversion hub. 13 | func (tr *Okms) Hub() {} 14 | 15 | // Hub marks this type as a conversion hub. 16 | func (tr *Secret) Hub() {} 17 | 18 | // Hub marks this type as a conversion hub. 19 | func (tr *ServiceKey) Hub() {} 20 | -------------------------------------------------------------------------------- /apis/namespaced/gateway/v1alpha1/zz_generated.managedlist.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2022 Upbound Inc. 3 | */ 4 | // Code generated by angryjet. DO NOT EDIT. 5 | 6 | package v1alpha1 7 | 8 | import resource "github.com/crossplane/crossplane-runtime/v2/pkg/resource" 9 | 10 | // GetItems of this ProjectGatewayList. 11 | func (l *ProjectGatewayList) GetItems() []resource.Managed { 12 | items := make([]resource.Managed, len(l.Items)) 13 | for i := range l.Items { 14 | items[i] = &l.Items[i] 15 | } 16 | return items 17 | } 18 | -------------------------------------------------------------------------------- /examples-generated/cluster/vrack/v1alpha1/dedicatedclouddatacenter.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: vrack.ovh.edixos.io/v1alpha1 2 | kind: DedicatedCloudDatacenter 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: vrack/v1alpha1/dedicatedclouddatacenter 6 | labels: 7 | testing.upbound.io/example-name: vrack_dedicated_cloud_datacenter 8 | name: vrack-dedicated-cloud-datacenter 9 | spec: 10 | forProvider: 11 | datacenter: 12 | serviceName: 13 | -------------------------------------------------------------------------------- /examples/cluster/network/subnetv2.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: network.ovh.edixos.io/v1alpha1 2 | kind: SubnetV2 3 | metadata: 4 | name: subnet-1 5 | labels: 6 | managed-by: crossplane 7 | spec: 8 | providerConfigRef: 9 | name: default 10 | forProvider: 11 | name: subnet-1 12 | serviceName: 980cbcf06e6a4e6e8a91a7d125b26bba 13 | networkIdRef: 14 | name: sample-1 15 | region: DE1 16 | cidr: 192.168.168.0/24 17 | dhcp: true 18 | dnsNameservers: 19 | - 1.1.1.1 20 | enableGatewayIp: true -------------------------------------------------------------------------------- /apis/cluster/dedicated/v1alpha1/zz_generated.managedlist.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2022 Upbound Inc. 3 | */ 4 | // Code generated by angryjet. DO NOT EDIT. 5 | 6 | package v1alpha1 7 | 8 | import resource "github.com/crossplane/crossplane-runtime/v2/pkg/resource" 9 | 10 | // GetItems of this ServerReinstallTaskList. 11 | func (l *ServerReinstallTaskList) GetItems() []resource.Managed { 12 | items := make([]resource.Managed, len(l.Items)) 13 | for i := range l.Items { 14 | items[i] = &l.Items[i] 15 | } 16 | return items 17 | } 18 | -------------------------------------------------------------------------------- /apis/namespaced/kms/v1alpha1/zz_generated.conversion_hubs.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2022 Upbound Inc. 3 | */ 4 | 5 | // Code generated by upjet. DO NOT EDIT. 6 | 7 | package v1alpha1 8 | 9 | // Hub marks this type as a conversion hub. 10 | func (tr *Credential) Hub() {} 11 | 12 | // Hub marks this type as a conversion hub. 13 | func (tr *Okms) Hub() {} 14 | 15 | // Hub marks this type as a conversion hub. 16 | func (tr *Secret) Hub() {} 17 | 18 | // Hub marks this type as a conversion hub. 19 | func (tr *ServiceKey) Hub() {} 20 | -------------------------------------------------------------------------------- /examples-generated/cluster/kube/v1alpha1/iprestriction.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kube.ovh.edixos.io/v1alpha1 2 | kind: IpRestriction 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: kube/v1alpha1/iprestriction 6 | labels: 7 | testing.upbound.io/example-name: vrack_only 8 | name: vrack-only 9 | spec: 10 | forProvider: 11 | ips: 12 | - 10.42.0.0/16 13 | kubeIdSelector: 14 | matchLabels: 15 | testing.upbound.io/example-name: example 16 | serviceName: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 17 | -------------------------------------------------------------------------------- /examples-generated/cluster/logs/v1alpha1/logsrolepermissionstream.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: logs.ovh.edixos.io/v1alpha1 2 | kind: LogsRolePermissionStream 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: logs/v1alpha1/logsrolepermissionstream 6 | labels: 7 | testing.upbound.io/example-name: permission 8 | name: permission 9 | spec: 10 | forProvider: 11 | roleId: ${ovh_dbaas_logs_role.ro.id} 12 | serviceName: ldp-xx-xxxxx 13 | streamId: ${ovh_dbaas_logs_output_graylog_stream.mystream.stream_id} 14 | -------------------------------------------------------------------------------- /examples-generated/namespaced/cloud/v1alpha1/plan.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: cloud.ovh.m.edixos.io/v1alpha1 2 | kind: Plan 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: cloud/v1alpha1/plan 6 | labels: 7 | testing.upbound.io/example-name: plan 8 | name: plan 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | autoRenewal: true 13 | displayName: one_month_rancher_savings_plan 14 | flavor: Rancher 15 | period: P1M 16 | serviceName: 17 | size: 2 18 | -------------------------------------------------------------------------------- /examples-generated/namespaced/cloud/v1alpha1/projectvolume.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: cloud.ovh.m.edixos.io/v1alpha1 2 | kind: ProjectVolume 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: cloud/v1alpha1/projectvolume 6 | labels: 7 | testing.upbound.io/example-name: volume 8 | name: volume 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | description: Terraform volume 13 | name: terrformName 14 | regionName: xxx 15 | serviceName: yyyyy 16 | size: 15 17 | type: classic 18 | -------------------------------------------------------------------------------- /examples-generated/namespaced/dns/v1alpha1/name.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dns.ovh.m.edixos.io/v1alpha1 2 | kind: Name 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: dns/v1alpha1/name 6 | labels: 7 | testing.upbound.io/example-name: domain 8 | name: domain 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | domainName: example.com 13 | targetSpec: 14 | dnsConfiguration: 15 | nameServers: 16 | - nameServer: dns101.ovh.net 17 | - nameServer: ns101.ovh.net 18 | -------------------------------------------------------------------------------- /examples/cluster/gateway/subnet.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: network.ovh.edixos.io/v1alpha1 2 | kind: Subnet 3 | metadata: 4 | name: gateway-subnet-1 5 | labels: 6 | managed-by: crossplane 7 | spec: 8 | providerConfigRef: 9 | name: default 10 | forProvider: 11 | serviceName: 980cbcf06e6a4e6e8a91a7d125b26bba 12 | networkIdRef: 13 | name: gateway-sample-1 14 | region: DE1 15 | start: 192.168.168.100 16 | end: 192.168.168.200 17 | network: 192.168.168.0/24 18 | dhcp: true 19 | noGateway: false -------------------------------------------------------------------------------- /examples/cluster/me/api_oauth2_client.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: me.ovh.edixos.io/v1alpha1 2 | kind: Oauth2Client 3 | metadata: 4 | name: sample-user 5 | spec: 6 | providerConfigRef: 7 | name: default 8 | forProvider: 9 | name: "sample-user" 10 | flow: "AUTHORIZATION_CODE" 11 | description: "An OAuth2 client using the authorization code flow for my-app.com" 12 | callbackUrls: 13 | - "https://my-app.com/callback" 14 | writeConnectionSecretToRef: 15 | name: oauth2 16 | namespace: default 17 | 18 | 19 | -------------------------------------------------------------------------------- /examples/namespaced/privatesql/v1alpha1/privatedatabaseuser.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: privatesql.ovh.m.edixos.io/v1alpha1 2 | kind: PrivatedatabaseUser 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: privatesql/v1alpha1/privatedatabaseuser 6 | labels: 7 | testing.upbound.io/example-name: user 8 | name: user 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | passwordSecretRef: 13 | key: example-key 14 | name: example-secret 15 | serviceName: XXXXXX 16 | userName: XXXXXX 17 | -------------------------------------------------------------------------------- /examples/namespaced/privatesql/v1alpha1/privatedatabaseusergrant.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: privatesql.ovh.m.edixos.io/v1alpha1 2 | kind: PrivatedatabaseUserGrant 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: privatesql/v1alpha1/privatedatabaseusergrant 6 | labels: 7 | testing.upbound.io/example-name: user_grant 8 | name: user-grant 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | databaseName: ovhcloud 13 | grant: admin 14 | serviceName: XXXXXX 15 | userName: terraform 16 | -------------------------------------------------------------------------------- /apis/namespaced/dedicated/v1alpha1/zz_generated.managedlist.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2022 Upbound Inc. 3 | */ 4 | // Code generated by angryjet. DO NOT EDIT. 5 | 6 | package v1alpha1 7 | 8 | import resource "github.com/crossplane/crossplane-runtime/v2/pkg/resource" 9 | 10 | // GetItems of this ServerReinstallTaskList. 11 | func (l *ServerReinstallTaskList) GetItems() []resource.Managed { 12 | items := make([]resource.Managed, len(l.Items)) 13 | for i := range l.Items { 14 | items[i] = &l.Items[i] 15 | } 16 | return items 17 | } 18 | -------------------------------------------------------------------------------- /examples-generated/cluster/dedicated/v1alpha1/serverreinstalltask.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dedicated.ovh.edixos.io/v1alpha1 2 | kind: ServerReinstallTask 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: dedicated/v1alpha1/serverreinstalltask 6 | labels: 7 | testing.upbound.io/example-name: server_reinstall 8 | name: server-reinstall 9 | spec: 10 | forProvider: 11 | os: ${data.ovh_dedicated_installation_template.template.template_name} 12 | serviceName: ${data.ovh_dedicated_server.server.service_name} 13 | -------------------------------------------------------------------------------- /examples-generated/cluster/nas/v1alpha1/nashapartitionaccess.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: nas.ovh.edixos.io/v1alpha1 2 | kind: NashaPartitionAccess 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: nas/v1alpha1/nashapartitionaccess 6 | labels: 7 | testing.upbound.io/example-name: my_partition 8 | name: my-partition 9 | spec: 10 | forProvider: 11 | aclDescription: Description of the ACL 12 | ip: 123.123.123.123/32 13 | partitionName: my-partition 14 | serviceName: zpool-12345 15 | type: readwrite 16 | -------------------------------------------------------------------------------- /examples-generated/namespaced/cloud/v1alpha1/projectcontainerregistryiam.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: cloud.ovh.m.edixos.io/v1alpha1 2 | kind: ProjectContainerregistryIAM 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: cloud/v1alpha1/projectcontainerregistryiam 6 | labels: 7 | testing.upbound.io/example-name: registry_iam 8 | name: registry-iam 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | deleteUsers: false 13 | registryId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx 14 | serviceName: XXXXXX 15 | -------------------------------------------------------------------------------- /examples/namespaced/privatesql/v1alpha1/privatedatabasewhitelist.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: privatesql.ovh.m.edixos.io/v1alpha1 2 | kind: PrivatedatabaseWhitelist 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: privatesql/v1alpha1/privatedatabasewhitelist 6 | labels: 7 | testing.upbound.io/example-name: ip 8 | name: ip 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | ip: 1.2.3.4 13 | name: A name for your IP address 14 | service: true 15 | serviceName: XXXXXX 16 | sftp: true 17 | -------------------------------------------------------------------------------- /extensions/icons/icon.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apis/cluster/kube/v1alpha1/zz_generated.conversion_hubs.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2022 Upbound Inc. 3 | */ 4 | 5 | // Code generated by upjet. DO NOT EDIT. 6 | 7 | package v1alpha1 8 | 9 | // Hub marks this type as a conversion hub. 10 | func (tr *Cluster) Hub() {} 11 | 12 | // Hub marks this type as a conversion hub. 13 | func (tr *IpRestriction) Hub() {} 14 | 15 | // Hub marks this type as a conversion hub. 16 | func (tr *NodePool) Hub() {} 17 | 18 | // Hub marks this type as a conversion hub. 19 | func (tr *OIDCConfiguration) Hub() {} 20 | -------------------------------------------------------------------------------- /apis/cluster/v1beta1/zz_generated.pculist.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2022 Upbound Inc. 3 | */ 4 | // Code generated by angryjet. DO NOT EDIT. 5 | 6 | package v1beta1 7 | 8 | import resource "github.com/crossplane/crossplane-runtime/v2/pkg/resource" 9 | 10 | // GetItems of this ProviderConfigUsageList. 11 | func (p *ProviderConfigUsageList) GetItems() []resource.ProviderConfigUsage { 12 | items := make([]resource.ProviderConfigUsage, len(p.Items)) 13 | for i := range p.Items { 14 | items[i] = &p.Items[i] 15 | } 16 | return items 17 | } 18 | -------------------------------------------------------------------------------- /apis/cluster/vminstances/v1alpha1/zz_generated.managedlist.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2022 Upbound Inc. 3 | */ 4 | // Code generated by angryjet. DO NOT EDIT. 5 | 6 | package v1alpha1 7 | 8 | import resource "github.com/crossplane/crossplane-runtime/v2/pkg/resource" 9 | 10 | // GetItems of this ProjectWorkflowBackupList. 11 | func (l *ProjectWorkflowBackupList) GetItems() []resource.Managed { 12 | items := make([]resource.Managed, len(l.Items)) 13 | for i := range l.Items { 14 | items[i] = &l.Items[i] 15 | } 16 | return items 17 | } 18 | -------------------------------------------------------------------------------- /apis/namespaced/vminstances/v1alpha1/zz_generated.managedlist.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2022 Upbound Inc. 3 | */ 4 | // Code generated by angryjet. DO NOT EDIT. 5 | 6 | package v1alpha1 7 | 8 | import resource "github.com/crossplane/crossplane-runtime/v2/pkg/resource" 9 | 10 | // GetItems of this ProjectWorkflowBackupList. 11 | func (l *ProjectWorkflowBackupList) GetItems() []resource.Managed { 12 | items := make([]resource.Managed, len(l.Items)) 13 | for i := range l.Items { 14 | items[i] = &l.Items[i] 15 | } 16 | return items 17 | } 18 | -------------------------------------------------------------------------------- /examples-generated/cluster/privatesql/v1alpha1/privatedatabaseuser.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: privatesql.ovh.edixos.io/v1alpha1 2 | kind: PrivatedatabaseUser 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: privatesql/v1alpha1/privatedatabaseuser 6 | labels: 7 | testing.upbound.io/example-name: user 8 | name: user 9 | spec: 10 | forProvider: 11 | passwordSecretRef: 12 | key: example-key 13 | name: example-secret 14 | namespace: upbound-system 15 | serviceName: XXXXXX 16 | userName: XXXXXX 17 | -------------------------------------------------------------------------------- /examples-generated/namespaced/kms/v1alpha1/servicekey.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kms.ovh.m.edixos.io/v1alpha1 2 | kind: ServiceKey 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: kms/v1alpha1/servicekey 6 | labels: 7 | testing.upbound.io/example-name: key_symetric 8 | name: key-symetric 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | name: key_oct 13 | okmsId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx 14 | operations: 15 | - encrypt 16 | - decrypt 17 | size: 256 18 | type: oct 19 | -------------------------------------------------------------------------------- /examples-generated/namespaced/privatesql/v1alpha1/privatedatabaseuser.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: privatesql.ovh.m.edixos.io/v1alpha1 2 | kind: PrivatedatabaseUser 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: privatesql/v1alpha1/privatedatabaseuser 6 | labels: 7 | testing.upbound.io/example-name: user 8 | name: user 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | passwordSecretRef: 13 | key: example-key 14 | name: example-secret 15 | serviceName: XXXXXX 16 | userName: XXXXXX 17 | -------------------------------------------------------------------------------- /examples-generated/namespaced/privatesql/v1alpha1/privatedatabaseusergrant.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: privatesql.ovh.m.edixos.io/v1alpha1 2 | kind: PrivatedatabaseUserGrant 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: privatesql/v1alpha1/privatedatabaseusergrant 6 | labels: 7 | testing.upbound.io/example-name: user_grant 8 | name: user-grant 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | databaseName: ovhcloud 13 | grant: admin 14 | serviceName: XXXXXX 15 | userName: terraform 16 | -------------------------------------------------------------------------------- /examples/namespaced/iam/v1alpha1/iamresourcegroup.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: iam.ovh.m.edixos.io/v1alpha1 2 | kind: IAMResourceGroup 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: iam/v1alpha1/iamresourcegroup 6 | labels: 7 | testing.upbound.io/example-name: my_resource_group 8 | name: my-resource-group 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | name: my_resource_group 13 | resources: 14 | - urn:v1:eu:resource:service1:service1-id 15 | - urn:v1:eu:resource:service2:service2-id 16 | -------------------------------------------------------------------------------- /apis/cluster/network/v1alpha1/zz_generated.conversion_hubs.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2022 Upbound Inc. 3 | */ 4 | 5 | // Code generated by upjet. DO NOT EDIT. 6 | 7 | package v1alpha1 8 | 9 | // Hub marks this type as a conversion hub. 10 | func (tr *PrivateNetwork) Hub() {} 11 | 12 | // Hub marks this type as a conversion hub. 13 | func (tr *ProjectRegionNetwork) Hub() {} 14 | 15 | // Hub marks this type as a conversion hub. 16 | func (tr *Subnet) Hub() {} 17 | 18 | // Hub marks this type as a conversion hub. 19 | func (tr *SubnetV2) Hub() {} 20 | -------------------------------------------------------------------------------- /apis/namespaced/kube/v1alpha1/zz_generated.conversion_hubs.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2022 Upbound Inc. 3 | */ 4 | 5 | // Code generated by upjet. DO NOT EDIT. 6 | 7 | package v1alpha1 8 | 9 | // Hub marks this type as a conversion hub. 10 | func (tr *Cluster) Hub() {} 11 | 12 | // Hub marks this type as a conversion hub. 13 | func (tr *IpRestriction) Hub() {} 14 | 15 | // Hub marks this type as a conversion hub. 16 | func (tr *NodePool) Hub() {} 17 | 18 | // Hub marks this type as a conversion hub. 19 | func (tr *OIDCConfiguration) Hub() {} 20 | -------------------------------------------------------------------------------- /apis/namespaced/v1beta1/zz_generated.pculist.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2022 Upbound Inc. 3 | */ 4 | // Code generated by angryjet. DO NOT EDIT. 5 | 6 | package v1beta1 7 | 8 | import resource "github.com/crossplane/crossplane-runtime/v2/pkg/resource" 9 | 10 | // GetItems of this ProviderConfigUsageList. 11 | func (p *ProviderConfigUsageList) GetItems() []resource.ProviderConfigUsage { 12 | items := make([]resource.ProviderConfigUsage, len(p.Items)) 13 | for i := range p.Items { 14 | items[i] = &p.Items[i] 15 | } 16 | return items 17 | } 18 | -------------------------------------------------------------------------------- /examples-generated/namespaced/privatesql/v1alpha1/privatedatabasewhitelist.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: privatesql.ovh.m.edixos.io/v1alpha1 2 | kind: PrivatedatabaseWhitelist 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: privatesql/v1alpha1/privatedatabasewhitelist 6 | labels: 7 | testing.upbound.io/example-name: ip 8 | name: ip 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | ip: 1.2.3.4 13 | name: A name for your IP address 14 | service: true 15 | serviceName: XXXXXX 16 | sftp: true 17 | -------------------------------------------------------------------------------- /apis/namespaced/network/v1alpha1/zz_generated.conversion_hubs.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2022 Upbound Inc. 3 | */ 4 | 5 | // Code generated by upjet. DO NOT EDIT. 6 | 7 | package v1alpha1 8 | 9 | // Hub marks this type as a conversion hub. 10 | func (tr *PrivateNetwork) Hub() {} 11 | 12 | // Hub marks this type as a conversion hub. 13 | func (tr *ProjectRegionNetwork) Hub() {} 14 | 15 | // Hub marks this type as a conversion hub. 16 | func (tr *Subnet) Hub() {} 17 | 18 | // Hub marks this type as a conversion hub. 19 | func (tr *SubnetV2) Hub() {} 20 | -------------------------------------------------------------------------------- /examples-generated/cluster/kube/v1alpha1/nodepool.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kube.ovh.edixos.io/v1alpha1 2 | kind: NodePool 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: kube/v1alpha1/nodepool 6 | labels: 7 | testing.upbound.io/example-name: node_pool 8 | name: node-pool 9 | spec: 10 | forProvider: 11 | desiredNodes: 3 12 | flavorName: b3-8 13 | kubeIdSelector: 14 | matchLabels: 15 | testing.upbound.io/example-name: example 16 | name: my-pool-1 17 | serviceName: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 18 | -------------------------------------------------------------------------------- /examples-generated/namespaced/iam/v1alpha1/iamresourcegroup.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: iam.ovh.m.edixos.io/v1alpha1 2 | kind: IAMResourceGroup 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: iam/v1alpha1/iamresourcegroup 6 | labels: 7 | testing.upbound.io/example-name: my_resource_group 8 | name: my-resource-group 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | name: my_resource_group 13 | resources: 14 | - urn:v1:eu:resource:service1:service1-id 15 | - urn:v1:eu:resource:service2:service2-id 16 | -------------------------------------------------------------------------------- /examples/namespaced/lb/v1alpha1/ssl.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: lb.ovh.m.edixos.io/v1alpha1 2 | kind: SSL 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: lb/v1alpha1/ssl 6 | labels: 7 | testing.upbound.io/example-name: sslname 8 | name: sslname 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | certificate: '...' 13 | chain: '...' 14 | displayName: test 15 | keySecretRef: 16 | key: example-key 17 | name: example-secret 18 | serviceName: ${data.ovh_iploadbalancing.lb.service_name} 19 | -------------------------------------------------------------------------------- /hack/fix.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Directory containing the files 4 | DIRECTORY="./.work/ovh/ovh/website/docs/d" 5 | 6 | # Iterate over each file in the directory 7 | for file in "$DIRECTORY"/* 8 | do 9 | # Extract the name of the file without the path 10 | filename=$(basename "$file") 11 | 12 | # Replace the first occurrence of '---' with the desired header 13 | # The header includes the file name for page_title and description 14 | sed -i '' '1 s/---/---\npage_title: '"$filename"'\ndescription: '"$filename"'/' "$file" 15 | done -------------------------------------------------------------------------------- /apis/cluster/iam/v1alpha1/zz_generated.conversion_hubs.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2022 Upbound Inc. 3 | */ 4 | 5 | // Code generated by upjet. DO NOT EDIT. 6 | 7 | package v1alpha1 8 | 9 | // Hub marks this type as a conversion hub. 10 | func (tr *IAMPermissionsGroup) Hub() {} 11 | 12 | // Hub marks this type as a conversion hub. 13 | func (tr *IAMPolicy) Hub() {} 14 | 15 | // Hub marks this type as a conversion hub. 16 | func (tr *IAMResourceGroup) Hub() {} 17 | 18 | // Hub marks this type as a conversion hub. 19 | func (tr *IAMResourceTags) Hub() {} 20 | -------------------------------------------------------------------------------- /apis/namespaced/iam/v1alpha1/zz_generated.conversion_hubs.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2022 Upbound Inc. 3 | */ 4 | 5 | // Code generated by upjet. DO NOT EDIT. 6 | 7 | package v1alpha1 8 | 9 | // Hub marks this type as a conversion hub. 10 | func (tr *IAMPermissionsGroup) Hub() {} 11 | 12 | // Hub marks this type as a conversion hub. 13 | func (tr *IAMPolicy) Hub() {} 14 | 15 | // Hub marks this type as a conversion hub. 16 | func (tr *IAMResourceGroup) Hub() {} 17 | 18 | // Hub marks this type as a conversion hub. 19 | func (tr *IAMResourceTags) Hub() {} 20 | -------------------------------------------------------------------------------- /examples-generated/cluster/databases/v1alpha1/projectdatabasemongodbprometheus.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: databases.ovh.edixos.io/v1alpha1 2 | kind: ProjectDatabaseMongodbPrometheus 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: databases/v1alpha1/projectdatabasemongodbprometheus 6 | labels: 7 | testing.upbound.io/example-name: prometheus 8 | name: prometheus 9 | spec: 10 | forProvider: 11 | clusterId: ${data.ovh_cloud_project_database.mongodb.id} 12 | serviceName: ${data.ovh_cloud_project_database.mongodb.service_name} 13 | -------------------------------------------------------------------------------- /apis/cluster/storage/v1alpha1/zz_generated.conversion_hubs.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2022 Upbound Inc. 3 | */ 4 | 5 | // Code generated by upjet. DO NOT EDIT. 6 | 7 | package v1alpha1 8 | 9 | // Hub marks this type as a conversion hub. 10 | func (tr *EFSShare) Hub() {} 11 | 12 | // Hub marks this type as a conversion hub. 13 | func (tr *EFSShareACL) Hub() {} 14 | 15 | // Hub marks this type as a conversion hub. 16 | func (tr *EFSShareSnapshot) Hub() {} 17 | 18 | // Hub marks this type as a conversion hub. 19 | func (tr *ProjectRegionStoragePresign) Hub() {} 20 | -------------------------------------------------------------------------------- /examples-generated/cluster/lb/v1alpha1/httproute.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: lb.ovh.edixos.io/v1alpha1 2 | kind: HTTPRoute 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: lb/v1alpha1/httproute 6 | labels: 7 | testing.upbound.io/example-name: https_redirect 8 | name: https-redirect 9 | spec: 10 | forProvider: 11 | action: 12 | - status: 302 13 | target: https://${host}${path}${arguments} 14 | type: redirect 15 | displayName: Redirect to HTTPS 16 | serviceName: loadbalancer-xxxxxxxxxxxxxxxxxx 17 | weight: 1 18 | -------------------------------------------------------------------------------- /examples-generated/cluster/lb/v1alpha1/ssl.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: lb.ovh.edixos.io/v1alpha1 2 | kind: SSL 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: lb/v1alpha1/ssl 6 | labels: 7 | testing.upbound.io/example-name: sslname 8 | name: sslname 9 | spec: 10 | forProvider: 11 | certificate: '...' 12 | chain: '...' 13 | displayName: test 14 | keySecretRef: 15 | key: example-key 16 | name: example-secret 17 | namespace: upbound-system 18 | serviceName: ${data.ovh_iploadbalancing.lb.service_name} 19 | -------------------------------------------------------------------------------- /examples-generated/namespaced/dns/v1alpha1/dsrecords.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dns.ovh.m.edixos.io/v1alpha1 2 | kind: DsRecords 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: dns/v1alpha1/dsrecords 6 | labels: 7 | testing.upbound.io/example-name: ds_records 8 | name: ds-records 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | domain: mydomain.ovh 13 | dsRecords: 14 | - algorithm: RSASHA1_NSEC3_SHA1 15 | flags: KEY_SIGNING_KEY 16 | publicKey: my_base64_encoded_public_key 17 | tag: 12345 18 | -------------------------------------------------------------------------------- /examples-generated/namespaced/lb/v1alpha1/ssl.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: lb.ovh.m.edixos.io/v1alpha1 2 | kind: SSL 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: lb/v1alpha1/ssl 6 | labels: 7 | testing.upbound.io/example-name: sslname 8 | name: sslname 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | certificate: '...' 13 | chain: '...' 14 | displayName: test 15 | keySecretRef: 16 | key: example-key 17 | name: example-secret 18 | serviceName: ${data.ovh_iploadbalancing.lb.service_name} 19 | -------------------------------------------------------------------------------- /examples-generated/namespaced/vrack/v1alpha1/dedicatedclouddatacenter.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: vrack.ovh.m.edixos.io/v1alpha1 2 | kind: DedicatedCloudDatacenter 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: vrack/v1alpha1/dedicatedclouddatacenter 6 | labels: 7 | testing.upbound.io/example-name: vrack_dedicated_cloud_datacenter 8 | name: vrack-dedicated-cloud-datacenter 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | datacenter: 13 | serviceName: 14 | -------------------------------------------------------------------------------- /examples-generated/namespaced/vrack/v1alpha1/ipv6routedsubrange.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: vrack.ovh.m.edixos.io/v1alpha1 2 | kind: IPv6RoutedSubrange 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: vrack/v1alpha1/ipv6routedsubrange 6 | labels: 7 | testing.upbound.io/example-name: vrack_routed_subrange 8 | name: vrack-routed-subrange 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | block: 13 | nexthop: 14 | routedSubrange: 15 | serviceName: 16 | -------------------------------------------------------------------------------- /examples/cluster/cloud/project.yaml: -------------------------------------------------------------------------------- 1 | # Project creation still not working, need to find out the root cause. 2 | apiVersion: cloud.ovh.edixos.io/v1alpha1 3 | kind: Project 4 | metadata: 5 | name: hello-edixos 6 | spec: 7 | providerConfigRef: 8 | name: default 9 | forProvider: 10 | description: "Hello Crossplane" 11 | ovhSubsidiary: "FR" 12 | paymentMean: "fidelity" # default-payment-mean, fidelity, ovh-account 13 | 14 | plan: 15 | - planCode: "project.2018" 16 | duration: "P1M" 17 | pricingMode: "default" 18 | 19 | -------------------------------------------------------------------------------- /examples/namespaced/kube/v1alpha1/iprestriction.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kube.ovh.m.edixos.io/v1alpha1 2 | kind: IpRestriction 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: kube/v1alpha1/iprestriction 6 | labels: 7 | testing.upbound.io/example-name: vrack_only 8 | name: vrack-only 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | ips: 13 | - 10.42.0.0/16 14 | kubeIdSelector: 15 | matchLabels: 16 | testing.upbound.io/example-name: example 17 | serviceName: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 18 | -------------------------------------------------------------------------------- /apis/namespaced/storage/v1alpha1/zz_generated.conversion_hubs.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2022 Upbound Inc. 3 | */ 4 | 5 | // Code generated by upjet. DO NOT EDIT. 6 | 7 | package v1alpha1 8 | 9 | // Hub marks this type as a conversion hub. 10 | func (tr *EFSShare) Hub() {} 11 | 12 | // Hub marks this type as a conversion hub. 13 | func (tr *EFSShareACL) Hub() {} 14 | 15 | // Hub marks this type as a conversion hub. 16 | func (tr *EFSShareSnapshot) Hub() {} 17 | 18 | // Hub marks this type as a conversion hub. 19 | func (tr *ProjectRegionStoragePresign) Hub() {} 20 | -------------------------------------------------------------------------------- /examples-generated/cluster/dedicatedserver/v1alpha1/serverupdate.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dedicatedserver.ovh.edixos.io/v1alpha1 2 | kind: ServerUpdate 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: dedicatedserver/v1alpha1/serverupdate 6 | labels: 7 | testing.upbound.io/example-name: server 8 | name: server 9 | spec: 10 | forProvider: 11 | bootId: ${data.ovh_dedicated_server_boots.rescue.result[0]} 12 | displayName: Some human-readable name 13 | monitoring: true 14 | serviceName: nsxxxxxxx.ip-xx-xx-xx.eu 15 | state: ok 16 | -------------------------------------------------------------------------------- /examples-generated/cluster/dns/v1alpha1/zonedynhostlogin.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dns.ovh.edixos.io/v1alpha1 2 | kind: ZoneDynhostLogin 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: dns/v1alpha1/zonedynhostlogin 6 | labels: 7 | testing.upbound.io/example-name: dynhost_user 8 | name: dynhost-user 9 | spec: 10 | forProvider: 11 | loginSuffix: dynhostUser 12 | passwordSecretRef: 13 | key: example-key 14 | name: example-secret 15 | namespace: upbound-system 16 | subDomain: dynhost 17 | zoneName: mydomain.ovh 18 | -------------------------------------------------------------------------------- /examples-generated/namespaced/dns/v1alpha1/zonedynhostlogin.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dns.ovh.m.edixos.io/v1alpha1 2 | kind: ZoneDynhostLogin 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: dns/v1alpha1/zonedynhostlogin 6 | labels: 7 | testing.upbound.io/example-name: dynhost_user 8 | name: dynhost-user 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | loginSuffix: dynhostUser 13 | passwordSecretRef: 14 | key: example-key 15 | name: example-secret 16 | subDomain: dynhost 17 | zoneName: mydomain.ovh 18 | -------------------------------------------------------------------------------- /examples-generated/namespaced/logs/v1alpha1/logsrolepermissionstream.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: logs.ovh.m.edixos.io/v1alpha1 2 | kind: LogsRolePermissionStream 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: logs/v1alpha1/logsrolepermissionstream 6 | labels: 7 | testing.upbound.io/example-name: permission 8 | name: permission 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | roleId: ${ovh_dbaas_logs_role.ro.id} 13 | serviceName: ldp-xx-xxxxx 14 | streamId: ${ovh_dbaas_logs_output_graylog_stream.mystream.stream_id} 15 | -------------------------------------------------------------------------------- /examples/namespaced/nas/v1alpha1/nashapartitionaccess.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: nas.ovh.m.edixos.io/v1alpha1 2 | kind: NashaPartitionAccess 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: nas/v1alpha1/nashapartitionaccess 6 | labels: 7 | testing.upbound.io/example-name: my_partition 8 | name: my-partition 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | aclDescription: Description of the ACL 13 | ip: 123.123.123.123/32 14 | partitionName: my-partition 15 | serviceName: zpool-12345 16 | type: readwrite 17 | -------------------------------------------------------------------------------- /examples-generated/namespaced/dedicated/v1alpha1/serverreinstalltask.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dedicated.ovh.m.edixos.io/v1alpha1 2 | kind: ServerReinstallTask 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: dedicated/v1alpha1/serverreinstalltask 6 | labels: 7 | testing.upbound.io/example-name: server_reinstall 8 | name: server-reinstall 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | os: ${data.ovh_dedicated_installation_template.template.template_name} 13 | serviceName: ${data.ovh_dedicated_server.server.service_name} 14 | -------------------------------------------------------------------------------- /examples-generated/namespaced/kube/v1alpha1/iprestriction.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kube.ovh.m.edixos.io/v1alpha1 2 | kind: IpRestriction 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: kube/v1alpha1/iprestriction 6 | labels: 7 | testing.upbound.io/example-name: vrack_only 8 | name: vrack-only 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | ips: 13 | - 10.42.0.0/16 14 | kubeIdSelector: 15 | matchLabels: 16 | testing.upbound.io/example-name: example 17 | serviceName: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 18 | -------------------------------------------------------------------------------- /examples-generated/cluster/storage/v1alpha1/projectregionstoragepresign.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: storage.ovh.edixos.io/v1alpha1 2 | kind: ProjectRegionStoragePresign 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: storage/v1alpha1/projectregionstoragepresign 6 | labels: 7 | testing.upbound.io/example-name: presigned_url 8 | name: presigned-url 9 | spec: 10 | forProvider: 11 | expire: 3600 12 | method: GET 13 | name: s3-bucket-name 14 | object: an-object-in-the-bucket 15 | regionName: GRA 16 | serviceName: xxxxxxxxxxxxxxxxx 17 | -------------------------------------------------------------------------------- /examples-generated/namespaced/nas/v1alpha1/nashapartitionaccess.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: nas.ovh.m.edixos.io/v1alpha1 2 | kind: NashaPartitionAccess 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: nas/v1alpha1/nashapartitionaccess 6 | labels: 7 | testing.upbound.io/example-name: my_partition 8 | name: my-partition 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | aclDescription: Description of the ACL 13 | ip: 123.123.123.123/32 14 | partitionName: my-partition 15 | serviceName: zpool-12345 16 | type: readwrite 17 | -------------------------------------------------------------------------------- /examples-generated/cluster/iam/v1alpha1/iampermissionsgroup.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: iam.ovh.edixos.io/v1alpha1 2 | kind: IAMPermissionsGroup 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: iam/v1alpha1/iampermissionsgroup 6 | labels: 7 | testing.upbound.io/example-name: read_vps 8 | name: read-vps 9 | spec: 10 | forProvider: 11 | allow: |- 12 | ${[ 13 | for act in data.ovh_iam_reference_actions.vps.actions : act.action if(contains(act.categories, "READ")) 14 | ]} 15 | description: Read access to vps 16 | name: read_vps 17 | -------------------------------------------------------------------------------- /examples-generated/cluster/kms/v1alpha1/credential.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kms.ovh.edixos.io/v1alpha1 2 | kind: Credential 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: kms/v1alpha1/credential 6 | labels: 7 | testing.upbound.io/example-name: cred_no_csr 8 | name: cred-no-csr 9 | spec: 10 | forProvider: 11 | certificateType: ECDSA 12 | description: Credential without CSR 13 | identityUrns: 14 | - urn:v1:eu:identity:account:${data.ovh_me.current_account.nichandle} 15 | name: cred 16 | okmsId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx 17 | -------------------------------------------------------------------------------- /examples-generated/cluster/logs/v1alpha1/logscluster.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: logs.ovh.edixos.io/v1alpha1 2 | kind: LogsCluster 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: logs/v1alpha1/logscluster 6 | labels: 7 | testing.upbound.io/example-name: ldp 8 | name: ldp 9 | spec: 10 | forProvider: 11 | archiveAllowedNetworks: 12 | - 10.0.0.0/16 13 | clusterId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx 14 | directInputAllowedNetworks: 15 | - 10.0.0.0/16 16 | queryAllowedNetworks: 17 | - 10.0.0.0/16 18 | serviceName: ldp-xx-xxxxx 19 | -------------------------------------------------------------------------------- /examples/namespaced/kube/v1alpha1/nodepool.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kube.ovh.m.edixos.io/v1alpha1 2 | kind: NodePool 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: kube/v1alpha1/nodepool 6 | labels: 7 | testing.upbound.io/example-name: node_pool 8 | name: node-pool 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | desiredNodes: 3 13 | flavorName: b3-8 14 | kubeIdSelector: 15 | matchLabels: 16 | testing.upbound.io/example-name: example 17 | name: my-pool-1 18 | serviceName: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 19 | -------------------------------------------------------------------------------- /examples-generated/cluster/databases/v1alpha1/projectdatabaseprometheus.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: databases.ovh.edixos.io/v1alpha1 2 | kind: ProjectDatabasePrometheus 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: databases/v1alpha1/projectdatabaseprometheus 6 | labels: 7 | testing.upbound.io/example-name: prometheus 8 | name: prometheus 9 | spec: 10 | forProvider: 11 | clusterId: ${data.ovh_cloud_project_database.db.id} 12 | engine: ${data.ovh_cloud_project_database.db.engine} 13 | serviceName: ${data.ovh_cloud_project_database.db.service_name} 14 | -------------------------------------------------------------------------------- /examples-generated/cluster/network/v1alpha1/projectregionnetwork.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: network.ovh.edixos.io/v1alpha1 2 | kind: ProjectRegionNetwork 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: network/v1alpha1/projectregionnetwork 6 | labels: 7 | testing.upbound.io/example-name: net 8 | name: net 9 | spec: 10 | forProvider: 11 | name: Madrid Network 12 | regionName: EU-SOUTH-LZ-MAD-A 13 | serviceName: XXXXXX 14 | subnet: 15 | cidr: 10.0.0.0/24 16 | enableDhcp: true 17 | enableGatewayIp: false 18 | ipVersion: 4 19 | -------------------------------------------------------------------------------- /examples/cluster/databases/user.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: databases.ovh.edixos.io/v1alpha1 2 | kind: ProjectDatabaseRedisUser 3 | metadata: 4 | name: user-1 5 | labels: 6 | managed-by: crossplane 7 | spec: 8 | forProvider: 9 | serviceName: 21658141411b4c9bb0bf863be8e8c369 10 | clusterId: e6d531ef-acb5-4a73-b0b6-9205a729f8f5 11 | channels: 12 | - "*" 13 | commands: 14 | - +get 15 | - -set 16 | keys: 17 | - data 18 | - properties 19 | name: user-1 20 | writeConnectionSecretToRef: 21 | name: user-1 22 | namespace: default -------------------------------------------------------------------------------- /examples-generated/cluster/vrack/v1alpha1/connectpopconfig.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: vrack.ovh.edixos.io/v1alpha1 2 | kind: ConnectPopConfig 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: vrack/v1alpha1/connectpopconfig 6 | labels: 7 | testing.upbound.io/example-name: pop 8 | name: pop 9 | spec: 10 | forProvider: 11 | customerBgpArea: 65400 12 | interfaceId: ${tolist(data.ovh_ovhcloud_connect.occ.interface_list)[0]} 13 | ovhBgpArea: 65401 14 | serviceName: ${data.ovh_ovhcloud_connect.occ.service_name} 15 | subnet: I.I.I.I/30 16 | type: l3 17 | -------------------------------------------------------------------------------- /examples-generated/namespaced/databases/v1alpha1/projectdatabasemongodbprometheus.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: databases.ovh.m.edixos.io/v1alpha1 2 | kind: ProjectDatabaseMongodbPrometheus 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: databases/v1alpha1/projectdatabasemongodbprometheus 6 | labels: 7 | testing.upbound.io/example-name: prometheus 8 | name: prometheus 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | clusterId: ${data.ovh_cloud_project_database.mongodb.id} 13 | serviceName: ${data.ovh_cloud_project_database.mongodb.service_name} 14 | -------------------------------------------------------------------------------- /examples-generated/namespaced/kube/v1alpha1/nodepool.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kube.ovh.m.edixos.io/v1alpha1 2 | kind: NodePool 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: kube/v1alpha1/nodepool 6 | labels: 7 | testing.upbound.io/example-name: node_pool 8 | name: node-pool 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | desiredNodes: 3 13 | flavorName: b3-8 14 | kubeIdSelector: 15 | matchLabels: 16 | testing.upbound.io/example-name: example 17 | name: my-pool-1 18 | serviceName: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 19 | -------------------------------------------------------------------------------- /examples/namespaced/lb/v1alpha1/httproute.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: lb.ovh.m.edixos.io/v1alpha1 2 | kind: HTTPRoute 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: lb/v1alpha1/httproute 6 | labels: 7 | testing.upbound.io/example-name: https_redirect 8 | name: https-redirect 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | action: 13 | - status: 302 14 | target: https://${host}${path}${arguments} 15 | type: redirect 16 | displayName: Redirect to HTTPS 17 | serviceName: loadbalancer-xxxxxxxxxxxxxxxxxx 18 | weight: 1 19 | -------------------------------------------------------------------------------- /examples/namespaced/dedicatedserver/v1alpha1/serverupdate.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dedicatedserver.ovh.m.edixos.io/v1alpha1 2 | kind: ServerUpdate 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: dedicatedserver/v1alpha1/serverupdate 6 | labels: 7 | testing.upbound.io/example-name: server 8 | name: server 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | bootId: ${data.ovh_dedicated_server_boots.rescue.result[0]} 13 | displayName: Some human-readable name 14 | monitoring: true 15 | serviceName: nsxxxxxxx.ip-xx-xx-xx.eu 16 | state: ok 17 | -------------------------------------------------------------------------------- /examples-generated/cluster/me/v1alpha1/oauth2client.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: me.ovh.edixos.io/v1alpha1 2 | kind: Oauth2Client 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: me/v1alpha1/oauth2client 6 | labels: 7 | testing.upbound.io/example-name: my_oauth2_client_auth_code 8 | name: my-oauth2-client-auth-code 9 | spec: 10 | forProvider: 11 | callbackUrls: 12 | - https://my-app.com/callback 13 | description: An OAuth2 client using the authorization code flow for my-app.com 14 | flow: AUTHORIZATION_CODE 15 | name: OAuth2 authorization code service account 16 | -------------------------------------------------------------------------------- /examples-generated/cluster/vminstances/v1alpha1/projectworkflowbackup.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: vminstances.ovh.edixos.io/v1alpha1 2 | kind: ProjectWorkflowBackup 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: vminstances/v1alpha1/projectworkflowbackup 6 | labels: 7 | testing.upbound.io/example-name: my_backup 8 | name: my-backup 9 | spec: 10 | forProvider: 11 | cron: 50 4 * * * 12 | instanceId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx 13 | maxExecutionCount: "0" 14 | regionName: GRA11 15 | rotation: "7" 16 | serviceName: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 17 | -------------------------------------------------------------------------------- /examples-generated/namespaced/lb/v1alpha1/httproute.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: lb.ovh.m.edixos.io/v1alpha1 2 | kind: HTTPRoute 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: lb/v1alpha1/httproute 6 | labels: 7 | testing.upbound.io/example-name: https_redirect 8 | name: https-redirect 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | action: 13 | - status: 302 14 | target: https://${host}${path}${arguments} 15 | type: redirect 16 | displayName: Redirect to HTTPS 17 | serviceName: loadbalancer-xxxxxxxxxxxxxxxxxx 18 | weight: 1 19 | -------------------------------------------------------------------------------- /examples/namespaced/storage/v1alpha1/projectregionstoragepresign.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: storage.ovh.m.edixos.io/v1alpha1 2 | kind: ProjectRegionStoragePresign 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: storage/v1alpha1/projectregionstoragepresign 6 | labels: 7 | testing.upbound.io/example-name: presigned_url 8 | name: presigned-url 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | expire: 3600 13 | method: GET 14 | name: s3-bucket-name 15 | object: an-object-in-the-bucket 16 | regionName: GRA 17 | serviceName: xxxxxxxxxxxxxxxxx 18 | -------------------------------------------------------------------------------- /examples-generated/cluster/registry/v1alpha1/containerregistryuser.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: registry.ovh.edixos.io/v1alpha1 2 | kind: ContainerRegistryUser 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: registry/v1alpha1/containerregistryuser 6 | labels: 7 | testing.upbound.io/example-name: user 8 | name: user 9 | spec: 10 | forProvider: 11 | email: foo@bar.com 12 | login: foobar 13 | registryIdSelector: 14 | matchLabels: 15 | testing.upbound.io/example-name: registry 16 | serviceName: ${ovh_cloud_project_containerregistry.registry.service_name} 17 | -------------------------------------------------------------------------------- /examples-generated/namespaced/dedicatedserver/v1alpha1/serverupdate.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dedicatedserver.ovh.m.edixos.io/v1alpha1 2 | kind: ServerUpdate 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: dedicatedserver/v1alpha1/serverupdate 6 | labels: 7 | testing.upbound.io/example-name: server 8 | name: server 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | bootId: ${data.ovh_dedicated_server_boots.rescue.result[0]} 13 | displayName: Some human-readable name 14 | monitoring: true 15 | serviceName: nsxxxxxxx.ip-xx-xx-xx.eu 16 | state: ok 17 | -------------------------------------------------------------------------------- /examples/namespaced/logs/v1alpha1/logscluster.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: logs.ovh.m.edixos.io/v1alpha1 2 | kind: LogsCluster 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: logs/v1alpha1/logscluster 6 | labels: 7 | testing.upbound.io/example-name: ldp 8 | name: ldp 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | archiveAllowedNetworks: 13 | - 10.0.0.0/16 14 | clusterId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx 15 | directInputAllowedNetworks: 16 | - 10.0.0.0/16 17 | queryAllowedNetworks: 18 | - 10.0.0.0/16 19 | serviceName: ldp-xx-xxxxx 20 | -------------------------------------------------------------------------------- /examples-generated/namespaced/storage/v1alpha1/projectregionstoragepresign.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: storage.ovh.m.edixos.io/v1alpha1 2 | kind: ProjectRegionStoragePresign 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: storage/v1alpha1/projectregionstoragepresign 6 | labels: 7 | testing.upbound.io/example-name: presigned_url 8 | name: presigned-url 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | expire: 3600 13 | method: GET 14 | name: s3-bucket-name 15 | object: an-object-in-the-bucket 16 | regionName: GRA 17 | serviceName: xxxxxxxxxxxxxxxxx 18 | -------------------------------------------------------------------------------- /examples/namespaced/iam/v1alpha1/iampermissionsgroup.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: iam.ovh.m.edixos.io/v1alpha1 2 | kind: IAMPermissionsGroup 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: iam/v1alpha1/iampermissionsgroup 6 | labels: 7 | testing.upbound.io/example-name: read_vps 8 | name: read-vps 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | allow: |- 13 | ${[ 14 | for act in data.ovh_iam_reference_actions.vps.actions : act.action if(contains(act.categories, "READ")) 15 | ]} 16 | description: Read access to vps 17 | name: read_vps 18 | -------------------------------------------------------------------------------- /examples-generated/cluster/databases/v1alpha1/projectdatabasem3dbuser.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: databases.ovh.edixos.io/v1alpha1 2 | kind: ProjectDatabaseM3DbUser 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: databases/v1alpha1/projectdatabasem3dbuser 6 | labels: 7 | testing.upbound.io/example-name: user 8 | name: user 9 | spec: 10 | forProvider: 11 | clusterIdSelector: 12 | matchLabels: 13 | testing.upbound.io/example-name: ovh_cloud_project_database 14 | group: mygroup 15 | name: johndoe 16 | serviceName: ${data.ovh_cloud_project_database.m3db.service_name} 17 | -------------------------------------------------------------------------------- /examples-generated/cluster/iam/v1alpha1/iamresourcetags.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: iam.ovh.edixos.io/v1alpha1 2 | kind: IAMResourceTags 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: iam/v1alpha1/iamresourcetags 6 | labels: 7 | testing.upbound.io/example-name: project_tags 8 | name: project-tags 9 | spec: 10 | forProvider: 11 | tags: 12 | backup_policy: daily 13 | compliance: gdpr 14 | cost_center: engineering 15 | environment: staging 16 | owner: team@example.com 17 | project: web-app 18 | urn: urn:v1:eu:resource:cloudProject:1234567890abcdef 19 | -------------------------------------------------------------------------------- /examples-generated/cluster/network/v1alpha1/subnet.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: network.ovh.edixos.io/v1alpha1 2 | kind: Subnet 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: network/v1alpha1/subnet 6 | labels: 7 | testing.upbound.io/example-name: subnet 8 | name: subnet 9 | spec: 10 | forProvider: 11 | dhcp: true 12 | end: 192.168.168.200 13 | network: 192.168.168.0/24 14 | networkIdSelector: 15 | matchLabels: 16 | testing.upbound.io/example-name: example 17 | noGateway: false 18 | region: GRA1 19 | serviceName: xxxxx 20 | start: 192.168.168.100 21 | -------------------------------------------------------------------------------- /examples-generated/namespaced/logs/v1alpha1/logscluster.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: logs.ovh.m.edixos.io/v1alpha1 2 | kind: LogsCluster 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: logs/v1alpha1/logscluster 6 | labels: 7 | testing.upbound.io/example-name: ldp 8 | name: ldp 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | archiveAllowedNetworks: 13 | - 10.0.0.0/16 14 | clusterId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx 15 | directInputAllowedNetworks: 16 | - 10.0.0.0/16 17 | queryAllowedNetworks: 18 | - 10.0.0.0/16 19 | serviceName: ldp-xx-xxxxx 20 | -------------------------------------------------------------------------------- /examples-generated/cluster/cloud/v1alpha1/projectinstance.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: cloud.ovh.edixos.io/v1alpha1 2 | kind: ProjectInstance 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: cloud/v1alpha1/projectinstance 6 | labels: 7 | testing.upbound.io/example-name: instance 8 | name: instance 9 | spec: 10 | forProvider: 11 | billingPeriod: hourly 12 | bootFrom: 13 | - imageId: UUID 14 | flavor: 15 | - flavorId: UUID 16 | name: instance name 17 | network: 18 | - public: true 19 | region: RRRR 20 | serviceName: XXX 21 | sshKey: 22 | - name: sshname 23 | -------------------------------------------------------------------------------- /examples-generated/namespaced/databases/v1alpha1/projectdatabaseprometheus.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: databases.ovh.m.edixos.io/v1alpha1 2 | kind: ProjectDatabasePrometheus 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: databases/v1alpha1/projectdatabaseprometheus 6 | labels: 7 | testing.upbound.io/example-name: prometheus 8 | name: prometheus 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | clusterId: ${data.ovh_cloud_project_database.db.id} 13 | engine: ${data.ovh_cloud_project_database.db.engine} 14 | serviceName: ${data.ovh_cloud_project_database.db.service_name} 15 | -------------------------------------------------------------------------------- /examples-generated/namespaced/iam/v1alpha1/iampermissionsgroup.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: iam.ovh.m.edixos.io/v1alpha1 2 | kind: IAMPermissionsGroup 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: iam/v1alpha1/iampermissionsgroup 6 | labels: 7 | testing.upbound.io/example-name: read_vps 8 | name: read-vps 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | allow: |- 13 | ${[ 14 | for act in data.ovh_iam_reference_actions.vps.actions : act.action if(contains(act.categories, "READ")) 15 | ]} 16 | description: Read access to vps 17 | name: read_vps 18 | -------------------------------------------------------------------------------- /examples-generated/namespaced/kms/v1alpha1/credential.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kms.ovh.m.edixos.io/v1alpha1 2 | kind: Credential 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: kms/v1alpha1/credential 6 | labels: 7 | testing.upbound.io/example-name: cred_no_csr 8 | name: cred-no-csr 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | certificateType: ECDSA 13 | description: Credential without CSR 14 | identityUrns: 15 | - urn:v1:eu:identity:account:${data.ovh_me.current_account.nichandle} 16 | name: cred 17 | okmsId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx 18 | -------------------------------------------------------------------------------- /examples-generated/namespaced/network/v1alpha1/projectregionnetwork.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: network.ovh.m.edixos.io/v1alpha1 2 | kind: ProjectRegionNetwork 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: network/v1alpha1/projectregionnetwork 6 | labels: 7 | testing.upbound.io/example-name: net 8 | name: net 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | name: Madrid Network 13 | regionName: EU-SOUTH-LZ-MAD-A 14 | serviceName: XXXXXX 15 | subnet: 16 | cidr: 10.0.0.0/24 17 | enableDhcp: true 18 | enableGatewayIp: false 19 | ipVersion: 4 20 | -------------------------------------------------------------------------------- /examples-generated/namespaced/vrack/v1alpha1/connectpopconfig.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: vrack.ovh.m.edixos.io/v1alpha1 2 | kind: ConnectPopConfig 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: vrack/v1alpha1/connectpopconfig 6 | labels: 7 | testing.upbound.io/example-name: pop 8 | name: pop 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | customerBgpArea: 65400 13 | interfaceId: ${tolist(data.ovh_ovhcloud_connect.occ.interface_list)[0]} 14 | ovhBgpArea: 65401 15 | serviceName: ${data.ovh_ovhcloud_connect.occ.service_name} 16 | subnet: I.I.I.I/30 17 | type: l3 18 | -------------------------------------------------------------------------------- /examples/namespaced/me/v1alpha1/user.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: me.ovh.m.edixos.io/v1alpha1 2 | kind: User 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: me/v1alpha1/user 6 | labels: 7 | testing.upbound.io/example-name: my_user 8 | name: my-user 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | description: Some custom description 13 | email: my_login@example.com 14 | groupSelector: 15 | matchLabels: 16 | testing.upbound.io/example-name: example 17 | login: my_login 18 | passwordSecretRef: 19 | key: example-key 20 | name: example-secret 21 | -------------------------------------------------------------------------------- /examples/namespaced/vminstances/v1alpha1/projectworkflowbackup.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: vminstances.ovh.m.edixos.io/v1alpha1 2 | kind: ProjectWorkflowBackup 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: vminstances/v1alpha1/projectworkflowbackup 6 | labels: 7 | testing.upbound.io/example-name: my_backup 8 | name: my-backup 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | cron: 50 4 * * * 13 | instanceId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx 14 | maxExecutionCount: "0" 15 | regionName: GRA11 16 | rotation: "7" 17 | serviceName: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 18 | -------------------------------------------------------------------------------- /examples/namespaced/me/v1alpha1/oauth2client.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: me.ovh.m.edixos.io/v1alpha1 2 | kind: Oauth2Client 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: me/v1alpha1/oauth2client 6 | labels: 7 | testing.upbound.io/example-name: my_oauth2_client_auth_code 8 | name: my-oauth2-client-auth-code 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | callbackUrls: 13 | - https://my-app.com/callback 14 | description: An OAuth2 client using the authorization code flow for my-app.com 15 | flow: AUTHORIZATION_CODE 16 | name: OAuth2 authorization code service account 17 | -------------------------------------------------------------------------------- /examples/namespaced/registry/v1alpha1/containerregistryuser.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: registry.ovh.m.edixos.io/v1alpha1 2 | kind: ContainerRegistryUser 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: registry/v1alpha1/containerregistryuser 6 | labels: 7 | testing.upbound.io/example-name: user 8 | name: user 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | email: foo@bar.com 13 | login: foobar 14 | registryIdSelector: 15 | matchLabels: 16 | testing.upbound.io/example-name: registry 17 | serviceName: ${ovh_cloud_project_containerregistry.registry.service_name} 18 | -------------------------------------------------------------------------------- /examples-generated/cluster/lb/v1alpha1/projectregionloadbalancerlogsubscription.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: lb.ovh.edixos.io/v1alpha1 2 | kind: ProjectRegionLoadbalancerLogSubscription 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: lb/v1alpha1/projectregionloadbalancerlogsubscription 6 | labels: 7 | testing.upbound.io/example-name: subscription 8 | name: subscription 9 | spec: 10 | forProvider: 11 | kind: haproxy 12 | loadbalancerId: aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee 13 | regionName: yyyy 14 | serviceName: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 15 | streamId: ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj 16 | -------------------------------------------------------------------------------- /examples-generated/cluster/me/v1alpha1/user.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: me.ovh.edixos.io/v1alpha1 2 | kind: User 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: me/v1alpha1/user 6 | labels: 7 | testing.upbound.io/example-name: my_user 8 | name: my-user 9 | spec: 10 | forProvider: 11 | description: Some custom description 12 | email: my_login@example.com 13 | groupSelector: 14 | matchLabels: 15 | testing.upbound.io/example-name: example 16 | login: my_login 17 | passwordSecretRef: 18 | key: example-key 19 | name: example-secret 20 | namespace: upbound-system 21 | -------------------------------------------------------------------------------- /examples-generated/namespaced/me/v1alpha1/user.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: me.ovh.m.edixos.io/v1alpha1 2 | kind: User 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: me/v1alpha1/user 6 | labels: 7 | testing.upbound.io/example-name: my_user 8 | name: my-user 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | description: Some custom description 13 | email: my_login@example.com 14 | groupSelector: 15 | matchLabels: 16 | testing.upbound.io/example-name: example 17 | login: my_login 18 | passwordSecretRef: 19 | key: example-key 20 | name: example-secret 21 | -------------------------------------------------------------------------------- /examples-generated/namespaced/vminstances/v1alpha1/projectworkflowbackup.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: vminstances.ovh.m.edixos.io/v1alpha1 2 | kind: ProjectWorkflowBackup 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: vminstances/v1alpha1/projectworkflowbackup 6 | labels: 7 | testing.upbound.io/example-name: my_backup 8 | name: my-backup 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | cron: 50 4 * * * 13 | instanceId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx 14 | maxExecutionCount: "0" 15 | regionName: GRA11 16 | rotation: "7" 17 | serviceName: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 18 | -------------------------------------------------------------------------------- /examples-generated/cluster/databases/v1alpha1/projectdatabase.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: databases.ovh.edixos.io/v1alpha1 2 | kind: ProjectDatabase 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: databases/v1alpha1/projectdatabase 6 | labels: 7 | testing.upbound.io/example-name: cassandradb 8 | name: cassandradb 9 | spec: 10 | forProvider: 11 | description: my-first-cassandra 12 | engine: cassandra 13 | flavor: db1-4 14 | nodes: 15 | - region: BHS 16 | - region: BHS 17 | - region: BHS 18 | plan: essential 19 | serviceName: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 20 | version: "4.0" 21 | -------------------------------------------------------------------------------- /examples-generated/cluster/databases/v1alpha1/projectdatabaseuser.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: databases.ovh.edixos.io/v1alpha1 2 | kind: ProjectDatabaseUser 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: databases/v1alpha1/projectdatabaseuser 6 | labels: 7 | testing.upbound.io/example-name: user 8 | name: user 9 | spec: 10 | forProvider: 11 | clusterIdSelector: 12 | matchLabels: 13 | testing.upbound.io/example-name: ovh_cloud_project_database 14 | engine: ${data.ovh_cloud_project_database.db.engine} 15 | name: johndoe 16 | serviceName: ${data.ovh_cloud_project_database.db.service_name} 17 | -------------------------------------------------------------------------------- /examples-generated/namespaced/me/v1alpha1/oauth2client.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: me.ovh.m.edixos.io/v1alpha1 2 | kind: Oauth2Client 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: me/v1alpha1/oauth2client 6 | labels: 7 | testing.upbound.io/example-name: my_oauth2_client_auth_code 8 | name: my-oauth2-client-auth-code 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | callbackUrls: 13 | - https://my-app.com/callback 14 | description: An OAuth2 client using the authorization code flow for my-app.com 15 | flow: AUTHORIZATION_CODE 16 | name: OAuth2 authorization code service account 17 | -------------------------------------------------------------------------------- /examples-generated/namespaced/registry/v1alpha1/containerregistryuser.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: registry.ovh.m.edixos.io/v1alpha1 2 | kind: ContainerRegistryUser 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: registry/v1alpha1/containerregistryuser 6 | labels: 7 | testing.upbound.io/example-name: user 8 | name: user 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | email: foo@bar.com 13 | login: foobar 14 | registryIdSelector: 15 | matchLabels: 16 | testing.upbound.io/example-name: registry 17 | serviceName: ${ovh_cloud_project_containerregistry.registry.service_name} 18 | -------------------------------------------------------------------------------- /examples-generated/cluster/databases/v1alpha1/projectdatabasekafkaacl.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: databases.ovh.edixos.io/v1alpha1 2 | kind: ProjectDatabaseKafkaACL 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: databases/v1alpha1/projectdatabasekafkaacl 6 | labels: 7 | testing.upbound.io/example-name: acl 8 | name: acl 9 | spec: 10 | forProvider: 11 | clusterIdSelector: 12 | matchLabels: 13 | testing.upbound.io/example-name: ovh_cloud_project_database 14 | permission: read 15 | serviceName: ${data.ovh_cloud_project_database.kafka.service_name} 16 | topic: mytopic 17 | username: johndoe 18 | -------------------------------------------------------------------------------- /examples/namespaced/databases/v1alpha1/projectdatabasem3dbuser.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: databases.ovh.m.edixos.io/v1alpha1 2 | kind: ProjectDatabaseM3DbUser 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: databases/v1alpha1/projectdatabasem3dbuser 6 | labels: 7 | testing.upbound.io/example-name: user 8 | name: user 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | clusterIdSelector: 13 | matchLabels: 14 | testing.upbound.io/example-name: ovh_cloud_project_database 15 | group: mygroup 16 | name: johndoe 17 | serviceName: ${data.ovh_cloud_project_database.m3db.service_name} 18 | -------------------------------------------------------------------------------- /examples/namespaced/network/v1alpha1/subnet.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: network.ovh.m.edixos.io/v1alpha1 2 | kind: Subnet 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: network/v1alpha1/subnet 6 | labels: 7 | testing.upbound.io/example-name: subnet 8 | name: subnet 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | dhcp: true 13 | end: 192.168.168.200 14 | network: 192.168.168.0/24 15 | networkIdSelector: 16 | matchLabels: 17 | testing.upbound.io/example-name: example 18 | noGateway: false 19 | region: GRA1 20 | serviceName: xxxxx 21 | start: 192.168.168.100 22 | -------------------------------------------------------------------------------- /examples-generated/cluster/cloud/v1alpha1/projectsshkey.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: cloud.ovh.edixos.io/v1alpha1 2 | kind: ProjectSSHKey 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: cloud/v1alpha1/projectsshkey 6 | labels: 7 | testing.upbound.io/example-name: key 8 | name: key 9 | spec: 10 | forProvider: 11 | name: new_key 12 | publicKey: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQC9xPpdqP3sx2H+gcBm65tJEaUbuifQ1uGkgrWtNY0PRKNNPdy+3yoVOtxk6Vjo4YZ0EU/JhmQfnrK7X7Q5vhqYxmozi0LiTRt0BxgqHJ+4hWTWMIOgr+C2jLx7ZsCReRk+fy5AHr6h0PHQEuXVLXeUy/TDyuY2JPtUZ5jcqvLYgQ== 13 | my-key 14 | serviceName: 15 | -------------------------------------------------------------------------------- /examples-generated/namespaced/iam/v1alpha1/iamresourcetags.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: iam.ovh.m.edixos.io/v1alpha1 2 | kind: IAMResourceTags 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: iam/v1alpha1/iamresourcetags 6 | labels: 7 | testing.upbound.io/example-name: project_tags 8 | name: project-tags 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | tags: 13 | backup_policy: daily 14 | compliance: gdpr 15 | cost_center: engineering 16 | environment: staging 17 | owner: team@example.com 18 | project: web-app 19 | urn: urn:v1:eu:resource:cloudProject:1234567890abcdef 20 | -------------------------------------------------------------------------------- /examples-generated/cluster/databases/v1alpha1/projectdatabasepostgresqluser.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: databases.ovh.edixos.io/v1alpha1 2 | kind: ProjectDatabasePostgresqlUser 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: databases/v1alpha1/projectdatabasepostgresqluser 6 | labels: 7 | testing.upbound.io/example-name: user 8 | name: user 9 | spec: 10 | forProvider: 11 | clusterIdSelector: 12 | matchLabels: 13 | testing.upbound.io/example-name: ovh_cloud_project_database 14 | name: johndoe 15 | roles: 16 | - replication 17 | serviceName: ${data.ovh_cloud_project_database.postgresql.service_name} 18 | -------------------------------------------------------------------------------- /examples-generated/namespaced/databases/v1alpha1/projectdatabasem3dbuser.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: databases.ovh.m.edixos.io/v1alpha1 2 | kind: ProjectDatabaseM3DbUser 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: databases/v1alpha1/projectdatabasem3dbuser 6 | labels: 7 | testing.upbound.io/example-name: user 8 | name: user 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | clusterIdSelector: 13 | matchLabels: 14 | testing.upbound.io/example-name: ovh_cloud_project_database 15 | group: mygroup 16 | name: johndoe 17 | serviceName: ${data.ovh_cloud_project_database.m3db.service_name} 18 | -------------------------------------------------------------------------------- /examples-generated/namespaced/network/v1alpha1/subnet.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: network.ovh.m.edixos.io/v1alpha1 2 | kind: Subnet 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: network/v1alpha1/subnet 6 | labels: 7 | testing.upbound.io/example-name: subnet 8 | name: subnet 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | dhcp: true 13 | end: 192.168.168.200 14 | network: 192.168.168.0/24 15 | networkIdSelector: 16 | matchLabels: 17 | testing.upbound.io/example-name: example 18 | noGateway: false 19 | region: GRA1 20 | serviceName: xxxxx 21 | start: 192.168.168.100 22 | -------------------------------------------------------------------------------- /examples-generated/cluster/databases/v1alpha1/projectdatabaseopensearchpattern.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: databases.ovh.edixos.io/v1alpha1 2 | kind: ProjectDatabaseOpensearchPattern 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: databases/v1alpha1/projectdatabaseopensearchpattern 6 | labels: 7 | testing.upbound.io/example-name: pattern 8 | name: pattern 9 | spec: 10 | forProvider: 11 | clusterIdSelector: 12 | matchLabels: 13 | testing.upbound.io/example-name: ovh_cloud_project_database 14 | maxIndexCount: 2 15 | pattern: logs_* 16 | serviceName: ${data.ovh_cloud_project_database.opensearch.service_name} 17 | -------------------------------------------------------------------------------- /examples-generated/namespaced/cloud/v1alpha1/projectinstance.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: cloud.ovh.m.edixos.io/v1alpha1 2 | kind: ProjectInstance 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: cloud/v1alpha1/projectinstance 6 | labels: 7 | testing.upbound.io/example-name: instance 8 | name: instance 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | billingPeriod: hourly 13 | bootFrom: 14 | - imageId: UUID 15 | flavor: 16 | - flavorId: UUID 17 | name: instance name 18 | network: 19 | - public: true 20 | region: RRRR 21 | serviceName: XXX 22 | sshKey: 23 | - name: sshname 24 | -------------------------------------------------------------------------------- /examples-generated/cluster/databases/v1alpha1/projectdatabasedatabase.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: databases.ovh.edixos.io/v1alpha1 2 | kind: ProjectDatabaseDatabase 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: databases/v1alpha1/projectdatabasedatabase 6 | labels: 7 | testing.upbound.io/example-name: database 8 | name: database 9 | spec: 10 | forProvider: 11 | clusterIdSelector: 12 | matchLabels: 13 | testing.upbound.io/example-name: ovh_cloud_project_database 14 | engine: ${data.ovh_cloud_project_database.db.engine} 15 | name: mydatabase 16 | serviceName: ${data.ovh_cloud_project_database.db.service_name} 17 | -------------------------------------------------------------------------------- /examples/namespaced/databases/v1alpha1/projectdatabase.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: databases.ovh.m.edixos.io/v1alpha1 2 | kind: ProjectDatabase 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: databases/v1alpha1/projectdatabase 6 | labels: 7 | testing.upbound.io/example-name: cassandradb 8 | name: cassandradb 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | description: my-first-cassandra 13 | engine: cassandra 14 | flavor: db1-4 15 | nodes: 16 | - region: BHS 17 | - region: BHS 18 | - region: BHS 19 | plan: essential 20 | serviceName: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 21 | version: "4.0" 22 | -------------------------------------------------------------------------------- /examples/namespaced/lb/v1alpha1/projectregionloadbalancerlogsubscription.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: lb.ovh.m.edixos.io/v1alpha1 2 | kind: ProjectRegionLoadbalancerLogSubscription 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: lb/v1alpha1/projectregionloadbalancerlogsubscription 6 | labels: 7 | testing.upbound.io/example-name: subscription 8 | name: subscription 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | kind: haproxy 13 | loadbalancerId: aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee 14 | regionName: yyyy 15 | serviceName: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 16 | streamId: ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj 17 | -------------------------------------------------------------------------------- /apis/cluster/v1alpha1/register.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2021 Upbound Inc. 3 | */ 4 | 5 | package v1alpha1 6 | 7 | import ( 8 | "k8s.io/apimachinery/pkg/runtime/schema" 9 | "sigs.k8s.io/controller-runtime/pkg/scheme" 10 | ) 11 | 12 | // Package type metadata. 13 | const ( 14 | Group = "ovh.edixos.io" 15 | Version = "v1alpha1" 16 | ) 17 | 18 | var ( 19 | // SchemeGroupVersion is group version used to register these objects 20 | SchemeGroupVersion = schema.GroupVersion{Group: Group, Version: Version} 21 | 22 | // SchemeBuilder is used to add go types to the GroupVersionKind scheme 23 | SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} 24 | ) 25 | -------------------------------------------------------------------------------- /examples/namespaced/databases/v1alpha1/projectdatabaseuser.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: databases.ovh.m.edixos.io/v1alpha1 2 | kind: ProjectDatabaseUser 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: databases/v1alpha1/projectdatabaseuser 6 | labels: 7 | testing.upbound.io/example-name: user 8 | name: user 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | clusterIdSelector: 13 | matchLabels: 14 | testing.upbound.io/example-name: ovh_cloud_project_database 15 | engine: ${data.ovh_cloud_project_database.db.engine} 16 | name: johndoe 17 | serviceName: ${data.ovh_cloud_project_database.db.service_name} 18 | -------------------------------------------------------------------------------- /.github/workflows/tag.yaml: -------------------------------------------------------------------------------- 1 | name: Tag 2 | 3 | on: 4 | workflow_dispatch: 5 | inputs: 6 | version: 7 | description: 'Release version (e.g. v0.1.0)' 8 | required: true 9 | message: 10 | description: 'Tag message' 11 | required: true 12 | 13 | jobs: 14 | tag: 15 | runs-on: ubuntu-22.04 16 | steps: 17 | - name: Checkout 18 | uses: actions/checkout@v4 19 | - name: Create Tag 20 | uses: negz/create-tag@v1 21 | with: 22 | version: ${{ github.event.inputs.version }} 23 | message: ${{ github.event.inputs.message }} 24 | token: ${{ secrets.GITHUB_TOKEN }} 25 | -------------------------------------------------------------------------------- /apis/namespaced/v1alpha1/register.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2021 Upbound Inc. 3 | */ 4 | 5 | package v1alpha1 6 | 7 | import ( 8 | "k8s.io/apimachinery/pkg/runtime/schema" 9 | "sigs.k8s.io/controller-runtime/pkg/scheme" 10 | ) 11 | 12 | // Package type metadata. 13 | const ( 14 | Group = "ovh.m.edixos.io" 15 | Version = "v1alpha1" 16 | ) 17 | 18 | var ( 19 | // SchemeGroupVersion is group version used to register these objects 20 | SchemeGroupVersion = schema.GroupVersion{Group: Group, Version: Version} 21 | 22 | // SchemeBuilder is used to add go types to the GroupVersionKind scheme 23 | SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} 24 | ) 25 | -------------------------------------------------------------------------------- /examples-generated/namespaced/databases/v1alpha1/projectdatabase.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: databases.ovh.m.edixos.io/v1alpha1 2 | kind: ProjectDatabase 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: databases/v1alpha1/projectdatabase 6 | labels: 7 | testing.upbound.io/example-name: cassandradb 8 | name: cassandradb 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | description: my-first-cassandra 13 | engine: cassandra 14 | flavor: db1-4 15 | nodes: 16 | - region: BHS 17 | - region: BHS 18 | - region: BHS 19 | plan: essential 20 | serviceName: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 21 | version: "4.0" 22 | -------------------------------------------------------------------------------- /examples-generated/namespaced/lb/v1alpha1/projectregionloadbalancerlogsubscription.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: lb.ovh.m.edixos.io/v1alpha1 2 | kind: ProjectRegionLoadbalancerLogSubscription 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: lb/v1alpha1/projectregionloadbalancerlogsubscription 6 | labels: 7 | testing.upbound.io/example-name: subscription 8 | name: subscription 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | kind: haproxy 13 | loadbalancerId: aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee 14 | regionName: yyyy 15 | serviceName: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 16 | streamId: ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj 17 | -------------------------------------------------------------------------------- /examples/namespaced/databases/v1alpha1/projectdatabasekafkaacl.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: databases.ovh.m.edixos.io/v1alpha1 2 | kind: ProjectDatabaseKafkaACL 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: databases/v1alpha1/projectdatabasekafkaacl 6 | labels: 7 | testing.upbound.io/example-name: acl 8 | name: acl 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | clusterIdSelector: 13 | matchLabels: 14 | testing.upbound.io/example-name: ovh_cloud_project_database 15 | permission: read 16 | serviceName: ${data.ovh_cloud_project_database.kafka.service_name} 17 | topic: mytopic 18 | username: johndoe 19 | -------------------------------------------------------------------------------- /examples-generated/cluster/databases/v1alpha1/projectdatabasemongodbuser.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: databases.ovh.edixos.io/v1alpha1 2 | kind: ProjectDatabaseMongodbUser 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: databases/v1alpha1/projectdatabasemongodbuser 6 | labels: 7 | testing.upbound.io/example-name: user 8 | name: user 9 | spec: 10 | forProvider: 11 | clusterIdSelector: 12 | matchLabels: 13 | testing.upbound.io/example-name: ovh_cloud_project_database 14 | name: johndoe 15 | roles: 16 | - backup@admin 17 | - readAnyDatabase@admin 18 | serviceName: ${data.ovh_cloud_project_database.mongodb.service_name} 19 | -------------------------------------------------------------------------------- /examples-generated/namespaced/databases/v1alpha1/projectdatabaseuser.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: databases.ovh.m.edixos.io/v1alpha1 2 | kind: ProjectDatabaseUser 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: databases/v1alpha1/projectdatabaseuser 6 | labels: 7 | testing.upbound.io/example-name: user 8 | name: user 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | clusterIdSelector: 13 | matchLabels: 14 | testing.upbound.io/example-name: ovh_cloud_project_database 15 | engine: ${data.ovh_cloud_project_database.db.engine} 16 | name: johndoe 17 | serviceName: ${data.ovh_cloud_project_database.db.service_name} 18 | -------------------------------------------------------------------------------- /cmd/generator/main.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2021 Upbound Inc. 3 | */ 4 | 5 | package main 6 | 7 | import ( 8 | "fmt" 9 | "os" 10 | "path/filepath" 11 | 12 | "github.com/crossplane/upjet/v2/pkg/pipeline" 13 | 14 | "github.com/edixos/provider-ovh/config" 15 | ) 16 | 17 | func main() { 18 | if len(os.Args) < 2 || os.Args[1] == "" { 19 | panic("root directory is required to be given as argument") 20 | } 21 | rootDir := os.Args[1] 22 | absRootDir, err := filepath.Abs(rootDir) 23 | if err != nil { 24 | panic(fmt.Sprintf("cannot calculate the absolute path with %s", rootDir)) 25 | } 26 | pipeline.Run(config.GetProvider(), config.GetProviderNamespaced(), absRootDir) 27 | } 28 | -------------------------------------------------------------------------------- /examples-generated/cluster/databases/v1alpha1/projectdatabasem3dbnamespace.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: databases.ovh.edixos.io/v1alpha1 2 | kind: ProjectDatabaseM3DbNamespace 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: databases/v1alpha1/projectdatabasem3dbnamespace 6 | labels: 7 | testing.upbound.io/example-name: namespace 8 | name: namespace 9 | spec: 10 | forProvider: 11 | clusterIdSelector: 12 | matchLabels: 13 | testing.upbound.io/example-name: ovh_cloud_project_database 14 | name: mynamespace 15 | resolution: P2D 16 | retentionPeriodDuration: PT48H 17 | serviceName: ${data.ovh_cloud_project_database.m3db.service_name} 18 | -------------------------------------------------------------------------------- /examples-generated/cluster/okms/v1alpha1/servicekeyjwk.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: okms.ovh.edixos.io/v1alpha1 2 | kind: ServiceKeyJwk 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: okms/v1alpha1/servicekeyjwk 6 | labels: 7 | testing.upbound.io/example-name: key_symetric 8 | name: key-symetric 9 | spec: 10 | forProvider: 11 | keys: 12 | - |- 13 | ${jsondecode(< 16 | -------------------------------------------------------------------------------- /examples-generated/namespaced/databases/v1alpha1/projectdatabasekafkaacl.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: databases.ovh.m.edixos.io/v1alpha1 2 | kind: ProjectDatabaseKafkaACL 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: databases/v1alpha1/projectdatabasekafkaacl 6 | labels: 7 | testing.upbound.io/example-name: acl 8 | name: acl 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | clusterIdSelector: 13 | matchLabels: 14 | testing.upbound.io/example-name: ovh_cloud_project_database 15 | permission: read 16 | serviceName: ${data.ovh_cloud_project_database.kafka.service_name} 17 | topic: mytopic 18 | username: johndoe 19 | -------------------------------------------------------------------------------- /examples/namespaced/databases/v1alpha1/projectdatabasepostgresqluser.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: databases.ovh.m.edixos.io/v1alpha1 2 | kind: ProjectDatabasePostgresqlUser 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: databases/v1alpha1/projectdatabasepostgresqluser 6 | labels: 7 | testing.upbound.io/example-name: user 8 | name: user 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | clusterIdSelector: 13 | matchLabels: 14 | testing.upbound.io/example-name: ovh_cloud_project_database 15 | name: johndoe 16 | roles: 17 | - replication 18 | serviceName: ${data.ovh_cloud_project_database.postgresql.service_name} 19 | -------------------------------------------------------------------------------- /apis/cluster/privatesql/v1alpha1/zz_generated.conversion_hubs.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2022 Upbound Inc. 3 | */ 4 | 5 | // Code generated by upjet. DO NOT EDIT. 6 | 7 | package v1alpha1 8 | 9 | // Hub marks this type as a conversion hub. 10 | func (tr *Privatedatabase) Hub() {} 11 | 12 | // Hub marks this type as a conversion hub. 13 | func (tr *PrivatedatabaseDatabase) Hub() {} 14 | 15 | // Hub marks this type as a conversion hub. 16 | func (tr *PrivatedatabaseUser) Hub() {} 17 | 18 | // Hub marks this type as a conversion hub. 19 | func (tr *PrivatedatabaseUserGrant) Hub() {} 20 | 21 | // Hub marks this type as a conversion hub. 22 | func (tr *PrivatedatabaseWhitelist) Hub() {} 23 | -------------------------------------------------------------------------------- /apis/namespaced/privatesql/v1alpha1/zz_generated.conversion_hubs.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2022 Upbound Inc. 3 | */ 4 | 5 | // Code generated by upjet. DO NOT EDIT. 6 | 7 | package v1alpha1 8 | 9 | // Hub marks this type as a conversion hub. 10 | func (tr *Privatedatabase) Hub() {} 11 | 12 | // Hub marks this type as a conversion hub. 13 | func (tr *PrivatedatabaseDatabase) Hub() {} 14 | 15 | // Hub marks this type as a conversion hub. 16 | func (tr *PrivatedatabaseUser) Hub() {} 17 | 18 | // Hub marks this type as a conversion hub. 19 | func (tr *PrivatedatabaseUserGrant) Hub() {} 20 | 21 | // Hub marks this type as a conversion hub. 22 | func (tr *PrivatedatabaseWhitelist) Hub() {} 23 | -------------------------------------------------------------------------------- /examples-generated/cluster/databases/v1alpha1/projectdatabaseiprestriction.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: databases.ovh.edixos.io/v1alpha1 2 | kind: ProjectDatabaseIPRestriction 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: databases/v1alpha1/projectdatabaseiprestriction 6 | labels: 7 | testing.upbound.io/example-name: ip_restriction 8 | name: ip-restriction 9 | spec: 10 | forProvider: 11 | clusterIdSelector: 12 | matchLabels: 13 | testing.upbound.io/example-name: ovh_cloud_project_database 14 | engine: ${data.ovh_cloud_project_database.db.engine} 15 | ip: 178.97.6.0/24 16 | serviceName: ${data.ovh_cloud_project_database.db.service_name} 17 | -------------------------------------------------------------------------------- /examples/namespaced/databases/v1alpha1/projectdatabasedatabase.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: databases.ovh.m.edixos.io/v1alpha1 2 | kind: ProjectDatabaseDatabase 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: databases/v1alpha1/projectdatabasedatabase 6 | labels: 7 | testing.upbound.io/example-name: database 8 | name: database 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | clusterIdSelector: 13 | matchLabels: 14 | testing.upbound.io/example-name: ovh_cloud_project_database 15 | engine: ${data.ovh_cloud_project_database.db.engine} 16 | name: mydatabase 17 | serviceName: ${data.ovh_cloud_project_database.db.service_name} 18 | -------------------------------------------------------------------------------- /examples/namespaced/databases/v1alpha1/projectdatabaseopensearchpattern.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: databases.ovh.m.edixos.io/v1alpha1 2 | kind: ProjectDatabaseOpensearchPattern 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: databases/v1alpha1/projectdatabaseopensearchpattern 6 | labels: 7 | testing.upbound.io/example-name: pattern 8 | name: pattern 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | clusterIdSelector: 13 | matchLabels: 14 | testing.upbound.io/example-name: ovh_cloud_project_database 15 | maxIndexCount: 2 16 | pattern: logs_* 17 | serviceName: ${data.ovh_cloud_project_database.opensearch.service_name} 18 | -------------------------------------------------------------------------------- /examples-generated/namespaced/databases/v1alpha1/projectdatabasepostgresqluser.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: databases.ovh.m.edixos.io/v1alpha1 2 | kind: ProjectDatabasePostgresqlUser 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: databases/v1alpha1/projectdatabasepostgresqluser 6 | labels: 7 | testing.upbound.io/example-name: user 8 | name: user 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | clusterIdSelector: 13 | matchLabels: 14 | testing.upbound.io/example-name: ovh_cloud_project_database 15 | name: johndoe 16 | roles: 17 | - replication 18 | serviceName: ${data.ovh_cloud_project_database.postgresql.service_name} 19 | -------------------------------------------------------------------------------- /examples/cluster/configuration/provider.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: pkg.crossplane.io/v1 2 | kind: Provider 3 | metadata: 4 | name: provider-ovh 5 | spec: 6 | package: xpkg.upbound.io/edixos/provider-ovh:v0.1.4 7 | runtimeConfigRef: 8 | name: provider-ovh 9 | --- 10 | apiVersion: pkg.crossplane.io/v1beta1 11 | kind: DeploymentRuntimeConfig 12 | metadata: 13 | name: provider-ovh 14 | spec: 15 | deploymentTemplate: 16 | spec: 17 | replicas: 1 18 | selector: {} 19 | template: 20 | spec: 21 | containers: 22 | - name: package-runtime 23 | args: 24 | - --debug 25 | - --poll 26 | - 1m -------------------------------------------------------------------------------- /examples-generated/namespaced/databases/v1alpha1/projectdatabasedatabase.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: databases.ovh.m.edixos.io/v1alpha1 2 | kind: ProjectDatabaseDatabase 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: databases/v1alpha1/projectdatabasedatabase 6 | labels: 7 | testing.upbound.io/example-name: database 8 | name: database 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | clusterIdSelector: 13 | matchLabels: 14 | testing.upbound.io/example-name: ovh_cloud_project_database 15 | engine: ${data.ovh_cloud_project_database.db.engine} 16 | name: mydatabase 17 | serviceName: ${data.ovh_cloud_project_database.db.service_name} 18 | -------------------------------------------------------------------------------- /examples-generated/namespaced/databases/v1alpha1/projectdatabaseopensearchpattern.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: databases.ovh.m.edixos.io/v1alpha1 2 | kind: ProjectDatabaseOpensearchPattern 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: databases/v1alpha1/projectdatabaseopensearchpattern 6 | labels: 7 | testing.upbound.io/example-name: pattern 8 | name: pattern 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | clusterIdSelector: 13 | matchLabels: 14 | testing.upbound.io/example-name: ovh_cloud_project_database 15 | maxIndexCount: 2 16 | pattern: logs_* 17 | serviceName: ${data.ovh_cloud_project_database.opensearch.service_name} 18 | -------------------------------------------------------------------------------- /config/cluster/nas/config.go: -------------------------------------------------------------------------------- 1 | package nas 2 | 3 | import "github.com/crossplane/upjet/v2/pkg/config" 4 | 5 | const ( 6 | shortGroup = "nas" 7 | ) 8 | 9 | // Configure configures individual resources by adding custom ResourceConfigurators. 10 | func Configure(p *config.Provider) { 11 | p.AddResourceConfigurator("ovh_dedicated_nasha_partition", func(r *config.Resource) { 12 | r.ShortGroup = shortGroup 13 | }) 14 | p.AddResourceConfigurator("ovh_dedicated_nasha_partition_access", func(r *config.Resource) { 15 | r.ShortGroup = shortGroup 16 | }) 17 | p.AddResourceConfigurator("ovh_dedicated_nasha_partition_snapshot", func(r *config.Resource) { 18 | r.ShortGroup = shortGroup 19 | }) 20 | } 21 | -------------------------------------------------------------------------------- /examples-generated/cluster/vrack/v1alpha1/vrack.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: vrack.ovh.edixos.io/v1alpha1 2 | kind: Vrack 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: vrack/v1alpha1/vrack 6 | labels: 7 | testing.upbound.io/example-name: vrack 8 | name: vrack 9 | spec: 10 | forProvider: 11 | description: my vrack 12 | name: my-vrack 13 | ovhSubsidiary: ${data.ovh_order_cart.my_cart.ovh_subsidiary} 14 | plan: 15 | - duration: ${data.ovh_order_cart_product_plan.vrack.selected_price.0.duration} 16 | planCode: ${data.ovh_order_cart_product_plan.vrack.plan_code} 17 | pricingMode: ${data.ovh_order_cart_product_plan.vrack.selected_price.0.pricing_mode} 18 | -------------------------------------------------------------------------------- /examples/namespaced/databases/v1alpha1/projectdatabasemongodbuser.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: databases.ovh.m.edixos.io/v1alpha1 2 | kind: ProjectDatabaseMongodbUser 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: databases/v1alpha1/projectdatabasemongodbuser 6 | labels: 7 | testing.upbound.io/example-name: user 8 | name: user 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | clusterIdSelector: 13 | matchLabels: 14 | testing.upbound.io/example-name: ovh_cloud_project_database 15 | name: johndoe 16 | roles: 17 | - backup@admin 18 | - readAnyDatabase@admin 19 | serviceName: ${data.ovh_cloud_project_database.mongodb.service_name} 20 | -------------------------------------------------------------------------------- /extensions/sboms/sbom.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.5", 4 | "serialNumber": "urn:uuid:placeholder-ovh-provider", 5 | "version": 1, 6 | "metadata": { 7 | "timestamp": "2025-11-16T00:00:00Z", 8 | "tools": [ 9 | { 10 | "vendor": "Anchore", 11 | "name": "syft", 12 | "version": "(to be generated in CI)" 13 | } 14 | ], 15 | "component": { 16 | "type": "application", 17 | "name": "provider-ovh", 18 | "version": "(set dynamically in CI)", 19 | "licenses": [ { "license": { "id": "Apache-2.0" } } ], 20 | "purl": "pkg:generic/provider-ovh" 21 | } 22 | }, 23 | "components": [] 24 | } 25 | -------------------------------------------------------------------------------- /config/namespaced/nas/config.go: -------------------------------------------------------------------------------- 1 | package nas 2 | 3 | import "github.com/crossplane/upjet/v2/pkg/config" 4 | 5 | const ( 6 | shortGroup = "nas" 7 | ) 8 | 9 | // Configure configures individual resources by adding custom ResourceConfigurators. 10 | func Configure(p *config.Provider) { 11 | p.AddResourceConfigurator("ovh_dedicated_nasha_partition", func(r *config.Resource) { 12 | r.ShortGroup = shortGroup 13 | }) 14 | p.AddResourceConfigurator("ovh_dedicated_nasha_partition_access", func(r *config.Resource) { 15 | r.ShortGroup = shortGroup 16 | }) 17 | p.AddResourceConfigurator("ovh_dedicated_nasha_partition_snapshot", func(r *config.Resource) { 18 | r.ShortGroup = shortGroup 19 | }) 20 | } 21 | -------------------------------------------------------------------------------- /examples-generated/cluster/network/v1alpha1/subnetv2.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: network.ovh.edixos.io/v1alpha1 2 | kind: SubnetV2 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: network/v1alpha1/subnetv2 6 | labels: 7 | testing.upbound.io/example-name: subnet 8 | name: subnet 9 | spec: 10 | forProvider: 11 | cidr: 192.168.168.0/24 12 | dhcp: true 13 | dnsNameservers: 14 | - 1.1.1.1 15 | enableGatewayIp: true 16 | name: my_private_subnet 17 | networkIdSelector: 18 | matchLabels: 19 | testing.upbound.io/example-name: example 20 | region: XXX1 21 | serviceName: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 22 | useDefaultPublicDnsResolver: false 23 | -------------------------------------------------------------------------------- /examples/install.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: pkg.crossplane.io/v1 2 | kind: Provider 3 | metadata: 4 | name: provider-ovh 5 | spec: 6 | package: xpkg.upbound.io/edixos/provider-ovh:v0.40.0 7 | runtimeConfigRef: 8 | name: provider-ovh 9 | --- 10 | apiVersion: pkg.crossplane.io/v1beta1 11 | kind: DeploymentRuntimeConfig 12 | metadata: 13 | name: provider-ovh 14 | spec: 15 | deploymentTemplate: 16 | spec: 17 | selector: {} 18 | template: 19 | spec: 20 | containers: 21 | - name: package-runtime 22 | args: 23 | - --debug 24 | - --enable-management-policies 25 | - --enable-external-secret-stores 26 | 27 | -------------------------------------------------------------------------------- /examples-generated/cluster/cloud/v1alpha1/project.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: cloud.ovh.edixos.io/v1alpha1 2 | kind: Project 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: cloud/v1alpha1/project 6 | labels: 7 | testing.upbound.io/example-name: my_cloud_project 8 | name: my-cloud-project 9 | spec: 10 | forProvider: 11 | description: my cloud project 12 | ovhSubsidiary: ${data.ovh_order_cart.mycart.ovh_subsidiary} 13 | plan: 14 | - duration: ${data.ovh_order_cart_product_plan.cloud.selected_price.0.duration} 15 | planCode: ${data.ovh_order_cart_product_plan.cloud.plan_code} 16 | pricingMode: ${data.ovh_order_cart_product_plan.cloud.selected_price.0.pricing_mode} 17 | -------------------------------------------------------------------------------- /examples-generated/namespaced/databases/v1alpha1/projectdatabasemongodbuser.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: databases.ovh.m.edixos.io/v1alpha1 2 | kind: ProjectDatabaseMongodbUser 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: databases/v1alpha1/projectdatabasemongodbuser 6 | labels: 7 | testing.upbound.io/example-name: user 8 | name: user 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | clusterIdSelector: 13 | matchLabels: 14 | testing.upbound.io/example-name: ovh_cloud_project_database 15 | name: johndoe 16 | roles: 17 | - backup@admin 18 | - readAnyDatabase@admin 19 | serviceName: ${data.ovh_cloud_project_database.mongodb.service_name} 20 | -------------------------------------------------------------------------------- /examples/namespaced/databases/v1alpha1/projectdatabasem3dbnamespace.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: databases.ovh.m.edixos.io/v1alpha1 2 | kind: ProjectDatabaseM3DbNamespace 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: databases/v1alpha1/projectdatabasem3dbnamespace 6 | labels: 7 | testing.upbound.io/example-name: namespace 8 | name: namespace 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | clusterIdSelector: 13 | matchLabels: 14 | testing.upbound.io/example-name: ovh_cloud_project_database 15 | name: mynamespace 16 | resolution: P2D 17 | retentionPeriodDuration: PT48H 18 | serviceName: ${data.ovh_cloud_project_database.m3db.service_name} 19 | -------------------------------------------------------------------------------- /examples/namespaced/registry/v1alpha1/containerregistry.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: registry.ovh.m.edixos.io/v1alpha1 2 | kind: ContainerRegistry 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: registry/v1alpha1/containerregistry 6 | labels: 7 | testing.upbound.io/example-name: my_registry 8 | name: my-registry 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | name: mydockerregistry 13 | planId: ${data.ovh_cloud_project_capabilities_containerregistry_filter.regcap.id} 14 | region: ${data.ovh_cloud_project_capabilities_containerregistry_filter.regcap.region} 15 | serviceName: ${data.ovh_cloud_project_capabilities_containerregistry_filter.regcap.service_name} 16 | -------------------------------------------------------------------------------- /apis/cluster/registry/v1alpha1/zz_generated.conversion_hubs.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2022 Upbound Inc. 3 | */ 4 | 5 | // Code generated by upjet. DO NOT EDIT. 6 | 7 | package v1alpha1 8 | 9 | // Hub marks this type as a conversion hub. 10 | func (tr *ContainerRegistry) Hub() {} 11 | 12 | // Hub marks this type as a conversion hub. 13 | func (tr *ContainerRegistryIPRestrictionsManagement) Hub() {} 14 | 15 | // Hub marks this type as a conversion hub. 16 | func (tr *ContainerRegistryIPRestrictionsRegistry) Hub() {} 17 | 18 | // Hub marks this type as a conversion hub. 19 | func (tr *ContainerRegistryOIDC) Hub() {} 20 | 21 | // Hub marks this type as a conversion hub. 22 | func (tr *ContainerRegistryUser) Hub() {} 23 | -------------------------------------------------------------------------------- /examples-generated/namespaced/vrack/v1alpha1/connectpopdatacenterconfig.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: vrack.ovh.m.edixos.io/v1alpha1 2 | kind: ConnectPopDatacenterConfig 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: vrack/v1alpha1/connectpopdatacenterconfig 6 | labels: 7 | testing.upbound.io/example-name: dc 8 | name: dc 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | configPopId: ${tolist(data.ovh_ovhcloud_connect_config_pops.pop_cfgs.pop_configs)[0].id} 13 | datacenterId: ${tolist(data.ovh_ovhcloud_connect_datacenters.dcs)[0].id} 14 | ovhBgpArea: 65408 15 | serviceName: ${data.ovh_ovhcloud_connect_config_pops.pop_cfgs.service_name} 16 | subnet: I.I.I.I/28 17 | -------------------------------------------------------------------------------- /examples/namespaced/databases/v1alpha1/projectdatabaseiprestriction.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: databases.ovh.m.edixos.io/v1alpha1 2 | kind: ProjectDatabaseIPRestriction 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: databases/v1alpha1/projectdatabaseiprestriction 6 | labels: 7 | testing.upbound.io/example-name: ip_restriction 8 | name: ip-restriction 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | clusterIdSelector: 13 | matchLabels: 14 | testing.upbound.io/example-name: ovh_cloud_project_database 15 | engine: ${data.ovh_cloud_project_database.db.engine} 16 | ip: 178.97.6.0/24 17 | serviceName: ${data.ovh_cloud_project_database.db.service_name} 18 | -------------------------------------------------------------------------------- /apis/namespaced/registry/v1alpha1/zz_generated.conversion_hubs.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2022 Upbound Inc. 3 | */ 4 | 5 | // Code generated by upjet. DO NOT EDIT. 6 | 7 | package v1alpha1 8 | 9 | // Hub marks this type as a conversion hub. 10 | func (tr *ContainerRegistry) Hub() {} 11 | 12 | // Hub marks this type as a conversion hub. 13 | func (tr *ContainerRegistryIPRestrictionsManagement) Hub() {} 14 | 15 | // Hub marks this type as a conversion hub. 16 | func (tr *ContainerRegistryIPRestrictionsRegistry) Hub() {} 17 | 18 | // Hub marks this type as a conversion hub. 19 | func (tr *ContainerRegistryOIDC) Hub() {} 20 | 21 | // Hub marks this type as a conversion hub. 22 | func (tr *ContainerRegistryUser) Hub() {} 23 | -------------------------------------------------------------------------------- /examples-generated/namespaced/databases/v1alpha1/projectdatabasem3dbnamespace.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: databases.ovh.m.edixos.io/v1alpha1 2 | kind: ProjectDatabaseM3DbNamespace 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: databases/v1alpha1/projectdatabasem3dbnamespace 6 | labels: 7 | testing.upbound.io/example-name: namespace 8 | name: namespace 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | clusterIdSelector: 13 | matchLabels: 14 | testing.upbound.io/example-name: ovh_cloud_project_database 15 | name: mynamespace 16 | resolution: P2D 17 | retentionPeriodDuration: PT48H 18 | serviceName: ${data.ovh_cloud_project_database.m3db.service_name} 19 | -------------------------------------------------------------------------------- /examples-generated/namespaced/okms/v1alpha1/servicekeyjwk.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: okms.ovh.m.edixos.io/v1alpha1 2 | kind: ServiceKeyJwk 3 | metadata: 4 | annotations: 5 | meta.upbound.io/example-id: okms/v1alpha1/servicekeyjwk 6 | labels: 7 | testing.upbound.io/example-name: key_symetric 8 | name: key-symetric 9 | namespace: upbound-system 10 | spec: 11 | forProvider: 12 | keys: 13 | - |- 14 | ${jsondecode(<